Hi, This is a continuation of the patches posted yesterday, I continued to build on them. The patch series does: - Move the hash backmerging into the elevator core. - Move the rbtree handling into the elevator core. - Abstract the FIFO handling into the elevator core. - Kill the io scheduler private requests, that require allocation/free for each request passed through the system. The result is a faster elevator core (and faster IO schedulers), with a nice net reduction of kernel text and code as well. If you have time, please give this patch series a test spin just to verify that everything still works for you. Thanks! block/as-iosched.c | 650 ++++++++++------------------------------------- block/cfq-iosched.c | 498 +++++++++--------------------------- block/deadline-iosched.c | 462 +++++---------------------------- block/elevator.c | 266 +++++++++++++++++-- block/ll_rw_blk.c | 9 include/linux/blkdev.h | 29 +- include/linux/elevator.h | 32 ++ include/linux/rbtree.h | 2 lib/rbtree.c | 6 9 files changed, 649 insertions(+), 1305 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/
- Follow-Ups:
- [PATCH] 9/15 as-iosched: reuse rq for fifo
- From: Jens Axboe <[email protected]>
- [PATCH] 15/15 as-iosched: kill arq
- From: Jens Axboe <[email protected]>
- [PATCH] 6/15 deadline-iosched: migrate to using the elevator rb functions
- From: Jens Axboe <[email protected]>
- [PATCH] 11/15 deadline-iosched: remove elevator private drq request type
- From: Jens Axboe <[email protected]>
- [PATCH] 1/15 elevator: move the backmerging logic into the elevator core
- From: Jens Axboe <[email protected]>
- [PATCH] 13/15 Add one more pointer to struct request for IO scheduler usage
- From: Jens Axboe <[email protected]>
- [PATCH] 10/15 as-iosched: remove arq->is_sync member
- From: Jens Axboe <[email protected]>
- [PATCH] 14/15 cfq-iosched: kill crq
- From: Jens Axboe <[email protected]>
- [PATCH] 3/15 elevator: abstract out the rbtree sort handling
- From: Jens Axboe <[email protected]>
- [PATCH] 4/15 as-iosched: migrate to using the elevator rb functions
- From: Jens Axboe <[email protected]>
- [PATCH] 8/15 cfq-iosched: convert to using the FIFO elevator defines
- From: Jens Axboe <[email protected]>
- [PATCH] 5/15 cfq-iosched: migrate to using the elevator rb functions
- From: Jens Axboe <[email protected]>
- [PATCH] 12/15 cfq-iosched: remove the crq flag functions/variable
- From: Jens Axboe <[email protected]>
- [PATCH] 7/15 elevator: introduce a way to reuse rq for internal FIFO handling
- From: Jens Axboe <[email protected]>
- [PATCH] 2/15 rbtree: fixed reversed RB_EMPTY_NODE and rb_next/prev
- From: Jens Axboe <[email protected]>
- [PATCH] 9/15 as-iosched: reuse rq for fifo
- Prev by Date: Re: utrace vs. ptrace
- Next by Date: [PATCH] 2/15 rbtree: fixed reversed RB_EMPTY_NODE and rb_next/prev
- Previous by thread: Re: [RFC][PATCH] Kill i386 references to xtime
- Next by thread: [PATCH] 2/15 rbtree: fixed reversed RB_EMPTY_NODE and rb_next/prev
- Index(es):