public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] blk-mq: dispatch related cleanup, fix and optimization
@ 2018-06-25 11:31 Ming Lei
  2018-06-25 11:31 ` [PATCH 1/5] blk-mq: cleanup blk_mq_get_driver_tag() Ming Lei
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Ming Lei @ 2018-06-25 11:31 UTC (permalink / raw)
  To: Jens Axboe
  Cc: linux-block, Ming Lei, Omar Sandoval, Andrew Jones,
	Bart Van Assche, linux-scsi, Martin K. Petersen,
	Christoph Hellwig

Hi,

The 1st two patches cleanes up blk_mq_get_driver_tag() and
blk_mq_mark_tag_wait().

The 3rd patch fixes one race between adding hctx->dispatch_wait to
wq and removing it from wq.

The 4th patch avoids to iterate on all queues which share same tags
after completing one request, so that we can kill the synchronize_rcu()
in patch of queue cleanup, then long delay can be avoided during SCSI LUN
probe. Meantime IO performance can be improved.

The 5th patch avoids to synchronizing rcu in blk_cleanup_queue() when
queue isn't initialized, so long delay can be avoided during SCSI LUN
probe too.

Ming Lei (5):
  blk-mq: cleanup blk_mq_get_driver_tag()
  blk-mq: don't pass **hctx to blk_mq_mark_tag_wait()
  blk-mq: introduce new lock for protecting hctx->dispatch_wait
  blk-mq: remove synchronize_rcu() from blk_mq_del_queue_tag_set()
  blk-mq: avoid to synchronize rcu inside blk_cleanup_queue()

 block/blk-core.c       |  8 +++--
 block/blk-mq-sched.c   | 85 +++-----------------------------------------------
 block/blk-mq.c         | 68 +++++++++++++++++++---------------------
 block/blk-mq.h         |  3 +-
 include/linux/blk-mq.h |  1 +
 include/linux/blkdev.h |  2 --
 6 files changed, 45 insertions(+), 122 deletions(-)

Cc: Omar Sandoval <osandov@fb.com>
Cc: Andrew Jones <drjones@redhat.com>
Cc: Bart Van Assche <bart.vanassche@wdc.com>
Cc: linux-scsi@vger.kernel.org
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>


-- 
2.9.5

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

end of thread, other threads:[~2018-06-28 19:21 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-25 11:31 [PATCH 0/5] blk-mq: dispatch related cleanup, fix and optimization Ming Lei
2018-06-25 11:31 ` [PATCH 1/5] blk-mq: cleanup blk_mq_get_driver_tag() Ming Lei
2018-06-26 21:11   ` Omar Sandoval
2018-06-25 11:31 ` [PATCH 2/5] blk-mq: don't pass **hctx to blk_mq_mark_tag_wait() Ming Lei
2018-06-26 21:12   ` Omar Sandoval
2018-06-25 11:31 ` [PATCH 3/5] blk-mq: introduce new lock for protecting hctx->dispatch_wait Ming Lei
2018-06-25 11:31 ` [PATCH 4/5] blk-mq: remove synchronize_rcu() from blk_mq_del_queue_tag_set() Ming Lei
2018-06-25 11:31 ` [PATCH 5/5] blk-mq: avoid to synchronize rcu inside blk_cleanup_queue() Ming Lei
2018-06-25 15:23 ` [PATCH 0/5] blk-mq: dispatch related cleanup, fix and optimization Andrew Jones
2018-06-28 19:21 ` Jens Axboe

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