From: Ming Lei <ming.lei@redhat.com> To: Jens Axboe <axboe@kernel.dk>, linux-block@vger.kernel.org, linux-scsi@vger.kernel.org, "Martin K . Petersen" <martin.petersen@oracle.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com>, Bart Van Assche <bvanassche@acm.org>, Hannes Reinecke <hare@suse.com>, John Garry <john.garry@huawei.com>, Don Brace <don.brace@microsemi.com>, Kashyap Desai <kashyap.desai@broadcom.com>, Sathya Prakash <sathya.prakash@broadcom.com>, Christoph Hellwig <hch@lst.de>, Ming Lei <ming.lei@redhat.com> Subject: [PATCH 0/9] blk-mq/scsi: convert private reply queue into blk_mq hw queue Date: Fri, 31 May 2019 10:27:52 +0800 [thread overview] Message-ID: <20190531022801.10003-1-ming.lei@redhat.com> (raw) Hi, The 1st patch introduces support hostwide tags for multiple hw queues via the simplest approach to share single 'struct blk_mq_tags' instance among all hw queues. In theory, this way won't cause any performance drop. Even small IOPS improvement can be observed on random IO on null_blk/scsi_debug. By applying the hostwide tags for MQ, we can convert some SCSI driver's private reply queue into generic blk-mq hw queue, then at least two improvement can be obtained: 1) the private reply queue maping can be removed from drivers, since the mapping has been implemented as generic API in blk-mq core 2) it helps to solve the generic managed IRQ race[1] during CPU hotplug in generic way, otherwise we have to re-invent new way to address the same issue for these drivers using private reply queue. [1] https://lore.kernel.org/linux-block/20190527150207.11372-1-ming.lei@redhat.com/T/#m6d95e2218bdd712ffda8f6451a0bb73eb2a651af Any comment and test feedback are appreciated. Thanks, Ming Hannes Reinecke (1): scsi: Add template flag 'host_tagset' Ming Lei (8): blk-mq: allow hw queues to share hostwide tags block: null_blk: introduce module parameter of 'g_host_tags' scsi_debug: support host tagset scsi: introduce scsi_cmnd_hctx_index() scsi: hpsa: convert private reply queue to blk-mq hw queue scsi: hisi_sas_v3: convert private reply queue to blk-mq hw queue scsi: megaraid: convert private reply queue to blk-mq hw queue scsi: mp3sas: convert private reply queue to blk-mq hw queue block/blk-mq-debugfs.c | 1 + block/blk-mq-sched.c | 8 +++ block/blk-mq-tag.c | 6 ++ block/blk-mq.c | 14 ++++ block/elevator.c | 5 +- drivers/block/null_blk_main.c | 6 ++ drivers/scsi/hisi_sas/hisi_sas.h | 2 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 36 +++++----- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 46 +++++-------- drivers/scsi/hpsa.c | 49 ++++++-------- drivers/scsi/megaraid/megaraid_sas_base.c | 50 +++++--------- drivers/scsi/megaraid/megaraid_sas_fusion.c | 4 +- drivers/scsi/mpt3sas/mpt3sas_base.c | 74 ++++----------------- drivers/scsi/mpt3sas/mpt3sas_base.h | 3 +- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 17 +++++ drivers/scsi/scsi_debug.c | 3 + drivers/scsi/scsi_lib.c | 2 + include/linux/blk-mq.h | 1 + include/scsi/scsi_cmnd.h | 15 +++++ include/scsi/scsi_host.h | 3 + 20 files changed, 168 insertions(+), 177 deletions(-) -- 2.20.1
next reply other threads:[~2019-05-31 2:28 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-31 2:27 Ming Lei [this message] 2019-05-31 2:27 ` [PATCH 1/9] blk-mq: allow hw queues to share hostwide tags Ming Lei 2019-05-31 6:07 ` Hannes Reinecke 2019-05-31 15:37 ` Bart Van Assche 2019-06-24 8:44 ` Ming Lei 2019-06-05 14:10 ` John Garry 2019-06-24 8:46 ` Ming Lei 2019-06-24 13:14 ` John Garry 2019-05-31 2:27 ` [PATCH 2/9] block: null_blk: introduce module parameter of 'g_host_tags' Ming Lei 2019-05-31 6:08 ` Hannes Reinecke 2019-05-31 15:39 ` Bart Van Assche 2019-06-24 8:43 ` Ming Lei 2019-06-02 1:56 ` Minwoo Im 2019-05-31 2:27 ` [PATCH 3/9] scsi: Add template flag 'host_tagset' Ming Lei 2019-05-31 6:08 ` Hannes Reinecke 2019-05-31 2:27 ` [PATCH 4/9] scsi_debug: support host tagset Ming Lei 2019-05-31 6:09 ` Hannes Reinecke 2019-06-02 2:03 ` Minwoo Im 2019-06-02 17:01 ` Douglas Gilbert 2019-05-31 2:27 ` [PATCH 5/9] scsi: introduce scsi_cmnd_hctx_index() Ming Lei 2019-05-31 6:10 ` Hannes Reinecke 2019-05-31 2:27 ` [PATCH 6/9] scsi: hpsa: convert private reply queue to blk-mq hw queue Ming Lei 2019-05-31 6:15 ` Hannes Reinecke 2019-05-31 6:30 ` Ming Lei 2019-05-31 6:40 ` Hannes Reinecke 2019-05-31 2:27 ` [PATCH 7/9] scsi: hisi_sas_v3: " Ming Lei 2019-05-31 6:20 ` Hannes Reinecke 2019-05-31 6:34 ` Ming Lei 2019-05-31 6:42 ` Hannes Reinecke 2019-05-31 7:14 ` Ming Lei 2019-05-31 11:38 ` John Garry 2019-06-03 11:00 ` Ming Lei 2019-06-03 13:00 ` John Garry 2019-06-04 13:37 ` Ming Lei 2019-05-31 2:28 ` [PATCH 8/9] scsi: megaraid: " Ming Lei 2019-05-31 6:22 ` Hannes Reinecke 2019-06-01 21:41 ` Kashyap Desai 2019-06-02 6:42 ` Ming Lei 2019-06-02 7:48 ` Ming Lei 2019-06-02 16:34 ` Kashyap Desai 2019-06-03 3:56 ` Ming Lei 2019-06-03 10:00 ` Kashyap Desai 2019-06-07 9:45 ` Kashyap Desai 2019-05-31 2:28 ` [PATCH 9/9] scsi: mp3sas: " Ming Lei 2019-05-31 6:23 ` Hannes Reinecke 2019-06-06 11:58 ` Sreekanth Reddy 2019-06-04 8:49 ` [PATCH 0/9] blk-mq/scsi: convert private reply queue into blk_mq " John Garry 2019-08-13 8:30 ` John Garry
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190531022801.10003-1-ming.lei@redhat.com \ --to=ming.lei@redhat.com \ --cc=James.Bottomley@HansenPartnership.com \ --cc=axboe@kernel.dk \ --cc=bvanassche@acm.org \ --cc=don.brace@microsemi.com \ --cc=hare@suse.com \ --cc=hch@lst.de \ --cc=john.garry@huawei.com \ --cc=kashyap.desai@broadcom.com \ --cc=linux-block@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=martin.petersen@oracle.com \ --cc=sathya.prakash@broadcom.com \ --subject='Re: [PATCH 0/9] blk-mq/scsi: convert private reply queue into blk_mq hw queue' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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).