[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1420032180-30256-1-git-send-email-ming.lei@canonical.com>
Date: Wed, 31 Dec 2014 13:22:55 +0000
From: Ming Lei <ming.lei@...onical.com>
To: Jens Axboe <axboe@...com>, linux-kernel@...r.kernel.org
Cc: Christoph Hellwig <hch@....de>, Robert Elliott <elliott@...com>
Subject: [PATCH v3 0/5] block: loop: convert to blk-mq
Hi,
The following 5 patches convert current loop driver into blk-mq:
- loop's throughput of read and randread can get improved much
because of the work queue implementation, also there is opportunity
for blk-mq to merge I/O from loop block
- loop driver gets quite simplified with blk-mq because there is
the whole request based framework and something like flush mechanism,
and the conversion can be throught as cleanup
V3:
- rebased on v3.19-rc2-next20141231
- submit I/O via workqueue
- don't handle write requests concurrently
- set flag of BLK_MQ_F_SG_MERGE
- fix failure path in patch 2/5
V2:
- replace work queue with kthread worker because wq may cause
regression on some fast devices(such as loop over null_blk, tmpfs
file, ...), in these cases, loop thread becomes CPU bound actually,
so work queue will introduce lots of unnecessary context switch, and
decrease throughput a lot one this cases
- introduce prepare_flush_rq_fn callback and its pair in blk-mq ops
for setting up flush rq's pdu correctly
- move kernel aio patches into another patchset as suggested by
Christoph
- no change in the other 4 patches
V1:
- improve failure path in aio_kernel_submit()
block/blk-mq.c | 4 +-
block/blk-mq.h | 1 -
drivers/block/loop.c | 417 ++++++++++++++++++++++++------------------------
drivers/block/loop.h | 17 +-
include/linux/blk-mq.h | 2 +
5 files changed, 221 insertions(+), 220 deletions(-)
Thanks,
Ming Lei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists