[PATCH 0/3] BFQ I/O Scheduler (second take)

Fabio Checconi fchecconi at gmail.com
Wed Nov 12 04:38:49 PST 2008


Hi,

> From: Li Zefan <lizf at cn.fujitsu.com>
> Date: Wed, Nov 12, 2008 10:48:00AM +0800
>
> CC: Linux Containers <containers at lists.linux-foundation.org>
>     Vivek Goyal <vgoyal at redhat.com>
> 
...
> So this is another cgroup-aware block i/o controller. ;)
> 
> People are sending different proposals for bio controller. A summary
> on this can be found here:
> 	http://marc.info/?l=linux-kernel&m=121798534716673&w=2
> 
> And a new proposal sent by Vivek several days ago:
> 	http://lkml.org/lkml/2008/11/6/227
> 
> And there are some discussions about can we modify the elevator layer
> and create a common layer so we can provide group control for all
> the 4 io schedulers. (in the above mail thread)
> 
> You may share some ideas with us.
> 

  yes, BFQ is another block I/O controller, and the ongoing discussion
is very interesting, as the other patchsets proposed.

BFQ deals with hierarchical scheduling in the same way as the proposed
CFQ extensions do, and it does not handle the I/O traking issue, as we
considered it not belonging directly to the elevator layer.

Talking about what may be interesting from the controller POV, it supports
arbitrary hierarchies (not only two layers) and ioprio classes for cgroups.
It can be easily extended to support any I/O tracking mechanism and
per-device ioprio_class/ioprio (it's just about choosing a sane interface
for that).

The main reasons why we turned BFQ into a cgroup controller were:
  - the algorithm was quite easy to adapt, and in a hierarchical
    context the advantages of using WF2Q+ over RR are more relevant.
  - Being a new scheduler, we had some freedom experimenting with it.
  - Avi asked for it :)

I'd like to stress the fact that the I/O controller thing is _not_ the
main feature of BFQ.  At least at this point of its development, we are
more interested in understanding if the differences it introduces WRT
CFQ (namely, the mixed time-service domain approach, WF2Q+ scheduling,
the feedback on budget lengths, etc.) are of interest or not for the
comminity and/or are worth the effort of a new I/O scheduler.


More information about the Containers mailing list