linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V5 0/8] blk-mq: improve bio merge for none scheduler
@ 2017-09-30 11:26 Ming Lei
  2017-09-30 11:26 ` [PATCH V5 1/8] blk-mq-sched: introduce blk_mq_sched_queue_depth() Ming Lei
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Ming Lei @ 2017-09-30 11:26 UTC (permalink / raw)
  To: Jens Axboe, linux-block, Christoph Hellwig, Mike Snitzer, dm-devel
  Cc: Bart Van Assche, Laurence Oberman, Paolo Valente,
	Oleksandr Natalenko, Tom Nguyen, linux-kernel, Omar Sandoval,
	Ming Lei

Hi,

Patch 1 ~ 2 uses q->queue_depth as hint for setting up
scheduler queue depth.

Patch 3 ~ 8 improve bio merge via hash table in sw queue,
which makes bio merge more efficient than current approch
in which only the last 8 requests in sw queue are checked.

Also this way has been used in block legacy path for long time,
and blk-mq scheduler uses hash table to do bio merge too.

V5:
	- splitted from previous patchset of 'blk-mq-sched: improve
	SCSI-MQ performance V4'

Ming Lei (8):
  blk-mq-sched: introduce blk_mq_sched_queue_depth()
  blk-mq-sched: use q->queue_depth as hint for q->nr_requests
  block: introduce rqhash helpers
  block: move actual bio merge code into __elv_merge
  block: add check on elevator for supporting bio merge via hashtable
    from blk-mq sw queue
  block: introduce .last_merge and .hash to blk_mq_ctx
  blk-mq-sched: refactor blk_mq_sched_try_merge()
  blk-mq: improve bio merge from blk-mq sw queue

 block/blk-mq-sched.c | 75 +++++++++++++++---------------------------
 block/blk-mq-sched.h | 23 +++++++++++++
 block/blk-mq.c       | 55 ++++++++++++++++++++++++++++---
 block/blk-mq.h       |  5 +++
 block/blk-settings.c |  2 ++
 block/blk.h          | 55 +++++++++++++++++++++++++++++++
 block/elevator.c     | 93 +++++++++++++++++++++++++++++++---------------------
 7 files changed, 216 insertions(+), 92 deletions(-)

-- 
2.9.5

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

end of thread, other threads:[~2017-10-09  4:29 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-30 11:26 [PATCH V5 0/8] blk-mq: improve bio merge for none scheduler Ming Lei
2017-09-30 11:26 ` [PATCH V5 1/8] blk-mq-sched: introduce blk_mq_sched_queue_depth() Ming Lei
2017-09-30 11:26 ` [PATCH V5 2/8] blk-mq-sched: use q->queue_depth as hint for q->nr_requests Ming Lei
2017-09-30 11:26 ` [PATCH V5 3/8] block: introduce rqhash helpers Ming Lei
2017-10-03  9:15   ` Christoph Hellwig
2017-09-30 11:26 ` [PATCH V5 4/8] block: move actual bio merge code into __elv_merge Ming Lei
2017-10-03  9:16   ` Christoph Hellwig
2017-09-30 11:26 ` [PATCH V5 5/8] block: add check on elevator for supporting bio merge via hashtable from blk-mq sw queue Ming Lei
2017-10-03  9:17   ` Christoph Hellwig
2017-09-30 11:26 ` [PATCH V5 6/8] block: introduce .last_merge and .hash to blk_mq_ctx Ming Lei
2017-10-03  9:19   ` Christoph Hellwig
2017-09-30 11:26 ` [PATCH V5 7/8] blk-mq-sched: refactor blk_mq_sched_try_merge() Ming Lei
2017-10-03  9:20   ` Christoph Hellwig
2017-09-30 11:26 ` [PATCH V5 8/8] blk-mq: improve bio merge from blk-mq sw queue Ming Lei
2017-10-03  9:21   ` Christoph Hellwig
2017-10-09  4:28     ` Ming Lei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).