Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1538851
| From | Jens Axboe <axboe@fb.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCHSET/RFC v2] blk-mq scheduling framework |
| Date | 2016-12-08 21:20 +0100 |
| Message-ID | <sMdkB-29H-3@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
As a followup to this posting from yesterday: https://marc.info/?l=linux-block&m=148115232806065&w=2 this is version 2. I wanted to post a new one fairly quickly, as there ended up being a number of potential crashes in v1. This one should be solid, I've run mq-deadline on both NVMe and regular rotating storage, and we handle the various merging cases correctly. You can download it from git as well: git://git.kernel.dk/linux-block blk-mq-sched.2 Note that this is based on for-4.10/block, which is in turn based on v4.9-rc1. I suggest pulling it into my for-next branch, which would then merge nicely with 'master' as well. Changes since v1: - Add Kconfig entries to allow the user to choose what the default scheduler should be for blk-mq, and whether that depends on the number of hardware queues. - Properly abstract the whole get/put of a request, so we can manage the life time properly. - Enable full merging on mq-deadline (front/back, bio-to-rq, rq-to-rq). Has full feature parity with deadline now. - Export necessary symbols for compiling mq-deadline as a module. - Various API adjustments for the mq schedulers. - Various cleanups and improvements. - Fix a lot of bugs. A lot. Upgrade! block/Kconfig.iosched | 37 ++ block/Makefile | 3 block/blk-core.c | 9 block/blk-exec.c | 3 block/blk-flush.c | 7 block/blk-merge.c | 3 block/blk-mq-sched.c | 265 +++++++++++++++++++ block/blk-mq-sched.h | 188 +++++++++++++ block/blk-mq-tag.c | 1 block/blk-mq.c | 254 ++++++++++-------- block/blk-mq.h | 35 +- block/elevator.c | 194 ++++++++++---- block/mq-deadline.c | 647 +++++++++++++++++++++++++++++++++++++++++++++++ drivers/nvme/host/pci.c | 1 include/linux/blk-mq.h | 4 include/linux/elevator.h | 34 ++ 16 files changed, 1495 insertions(+), 190 deletions(-)
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCHSET/RFC v2] blk-mq scheduling framework Jens Axboe <axboe@fb.com> - 2016-12-08 21:20 +0100
[PATCH 4/7] blk-flush: run the queue when inserting blk-mq flush Jens Axboe <axboe@fb.com> - 2016-12-08 21:20 +0100
Re: [PATCH 4/7] blk-flush: run the queue when inserting blk-mq flush Hannes Reinecke <hare@suse.de> - 2016-12-09 07:50 +0100
[PATCH 3/7] elevator: make the rqhash helpers exported Jens Axboe <axboe@fb.com> - 2016-12-08 21:20 +0100
Re: [PATCH 3/7] elevator: make the rqhash helpers exported Hannes Reinecke <hare@suse.de> - 2016-12-09 07:50 +0100
[PATCH 6/7] mq-deadline: add blk-mq adaptation of the deadline IO scheduler Jens Axboe <axboe@fb.com> - 2016-12-08 21:20 +0100
[PATCH 7/7] blk-mq-sched: allow setting of default IO scheduler Jens Axboe <axboe@fb.com> - 2016-12-08 21:20 +0100
csiph-web