Budget Fair Queueing I/O Scheduler ================================== This patchset introduces BFQ into the Linux kernel; the overall diffstat is the following: block/Kconfig.iosched | 25 + block/Makefile | 1 + block/bfq-cgroup.c | 743 +++++++++++++++ block/bfq-ioc.c | 375 ++++++++ block/bfq-iosched.c | 2010 +++++++++++++++++++++++++++++++++++++++++ block/bfq-sched.c | 950 +++++++++++++++++++ block/bfq.h | 514 +++++++++++ block/blk-ioc.c | 27 +- block/cfq-iosched.c | 10 +- fs/ioprio.c | 9 +- include/linux/cgroup_subsys.h | 6 + include/linux/iocontext.h | 18 +- 12 files changed, 4669 insertions(+), 19 deletions(-) For further information please refer to the patches themselves or to: http://algo.ing.unimo.it/people/paolo/disk_sched/ http://feanor.sssup.it/~fabio/linux/bfq/ ChangeLog ========= v3 - Address the issues pointed out during the first review: . use a bitmap to signal ioprio changes to I/O schedulers; . introduce a timeout to limit the huge delays that could happen with seeky traffic; . introduce hierarchical scheduling. v2 - Fix a wrong assertion on idle queues (they can become an ->active_queue), and clean up some leftover from CFQ code import. Also use a different ioprio_changed ioc field for bfq and fix the memory barriers used to handle it. v1 - Backport the rcu-safe cic freeing from mainline CFQ. v0 - Original version.