Messages in this thread | | | Date | Wed, 12 Jul 2006 10:03:20 +0200 | From | Jens Axboe <> | Subject | [PATCHSET] 0/7 IO scheduler abstractions |
| |
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 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/
| |