Messages in this thread | | | Date | Mon, 30 Nov 2009 16:34:36 +0100 | Subject | Re: Block IO Controller V4 | From | Corrado Zoccolo <> |
| |
Hi Vivek, On Mon, Nov 30, 2009 at 3:59 AM, Vivek Goyal <vgoyal@redhat.com> wrote: > Hi Jens, > [snip] > TODO > ==== > - Direct random writers seem to be very fickle in terms of workload > classification. They seem to be switching between sync-idle and sync-noidle > workload type in a little unpredictable manner. Debug and fix it. >
Are you still experiencing erratic behaviour after my patches were integrated in for-2.6.33?
> - Support async IO control (buffered writes). I was thinking about this. Currently, writeback can either be issued by a kernel daemon (when actual dirty ratio is > background dirty ratio, but < dirty_ratio) or from various processes, if the actual dirty ratio is > dirty ratio. Could the writeback issued in the context of a process be marked as sync? In this way: * normal writeback when system is not under pressure will run in the root group, without interferring with sync workload * the writeback issued when we have high dirty ratio will have more priority, so the system will return in a normal condition quicker. * your code will work out of the box, in fact processes with lower weight will complete less I/O, therefore they will be slowed down more than higher weight ones.
> > Buffered writes is a beast and requires changes at many a places to solve the > problem and patchset becomes huge. Hence first we plan to support only sync > IO in control then work on async IO too. > > Some of the work items identified are. > > - Per memory cgroup dirty ratio > - Possibly modification of writeback to force writeback from a > particular cgroup. > - Implement IO tracking support so that a bio can be mapped to a cgroup. > - Per group request descriptor infrastructure in block layer. > - At CFQ level, implement per cfq_group async queues. > > In this patchset, all the async IO goes in system wide queues and there are > no per group async queues. That means we will see service differentiation > only for sync IO only. Async IO willl be handled later. > > - Support for higher level policies like max BW controller. > - Support groups of RT class also.
Thanks, Corrado -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |