[PATCHSET] 0/7 IO scheduler abstractions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

So right now we have some duplicated code and data structures among the
io schedulers. Apart from noop, the others all implement their own back
merging with hash helpers, sorting with rbtree helpers, and FIFO
management in private request structures.

This patch set takes care of moving what makes sense into the elevator
core instead. It results in about a 3kb reduction of kernel text, and a
reduction of 550 (!!) lines of kernel C code. The noop scheduler gains
merging capabilities for free, and the deadline scheduler can get rid of
its private deadline_rq structure. The latter is especially nice for
deadline, as it is now allocation free in the request path! deadline
code is also reduced from about 19kb to 11kb.

The patches are also available in the 'iosched' branch of the git block
repo.

 block/as-iosched.c       |  351 ++++-------------------------------
 block/cfq-iosched.c      |  268 +++++----------------------
 block/deadline-iosched.c |  462 +++++++----------------------------------------
 block/elevator.c         |  231 +++++++++++++++++++++--
 block/ll_rw_blk.c        |    7 
 include/linux/blkdev.h   |   18 -
 include/linux/elevator.h |   33 +++
 include/linux/rbtree.h   |    2 
 lib/rbtree.c             |    6 
 9 files changed, 427 insertions(+), 951 deletions(-)

-- 
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux