mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* block: loop: convert to blk-mq
@ 2014-08-30 16:08 Ming Lei
  2014-08-30 16:08 ` [PATCH v2 1/6] blk-mq: export blk_mq_freeze_queue and blk_mq_unfreeze_queue Ming Lei
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Ming Lei @ 2014-08-30 16:08 UTC (permalink / raw)
  To: Jens Axboe, linux-kernel, Dave Kleikamp
  Cc: Zach Brown, Christoph Hellwig, Maxim Patlasov

Hi,

The following 6 patches convert current loop driver into blk-mq:

	- loop's scalability gets improved much
	- loop driver gets quite simplified, and the conversion can
	be throught as cleanup

The previous kernel AIO patches will be submitted in another patchset
for improving loop's performance.

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-flush.c      |    4 +
 block/blk-mq.c         |   16 +-
 block/blk-mq.h         |    1 -
 drivers/block/loop.c   |  411 +++++++++++++++++++++++++-----------------------
 drivers/block/loop.h   |   20 ++-
 include/linux/blk-mq.h |   14 ++
 6 files changed, 259 insertions(+), 207 deletions(-)



Thanks,
--
Ming Lei


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-09-01  4:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-30 16:08 block: loop: convert to blk-mq Ming Lei
2014-08-30 16:08 ` [PATCH v2 1/6] blk-mq: export blk_mq_freeze_queue and blk_mq_unfreeze_queue Ming Lei
2014-08-30 16:08 ` [PATCH v2 2/6] blk-mq: introduce prepare_flush_rq_fn callback and its pair Ming Lei
2014-08-30 16:08 ` [PATCH v2 3/6] block: loop: convert to blk-mq Ming Lei
2014-08-30 22:03   ` Elliott, Robert (Server Storage)
2014-09-01  0:47     ` Ming Lei
2014-08-30 16:08 ` [PATCH v2 4/6] block: loop: say goodby to bio Ming Lei
2014-08-30 22:14   ` Elliott, Robert (Server Storage)
2014-09-01  4:18     ` Ming Lei
2014-08-30 16:08 ` [PATCH v2 5/6] block: loop: introduce lo_discard() and lo_req_flush() Ming Lei
2014-08-30 16:08 ` [PATCH v2 6/6] block: loop: don't handle REQ_FUA explicitly Ming Lei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®