From: Jens Axboe <axboe@kernel.dk>
To: Hannes Reinecke <hare@suse.com>,
Christoph Hellwig <hch@infradead.org>,
Hannes Reinecke <hare@suse.de>
Cc: Christoph Hellwig <hch@lst.de>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
James Bottomley <james.bottomley@hansenpartnership.com>,
Don Brace <don.brace@microsemi.com>,
linux-scsi@vger.kernel.org
Subject: Re: [PATCH] hpsa: scsi-mq support
Date: Sat, 12 Nov 2016 11:30:25 -0700 [thread overview]
Message-ID: <ab5aaa83-78ad-c50e-8a07-a156b0e5d84e@kernel.dk> (raw)
In-Reply-To: <39d1198d-eb49-71ed-9139-f0efd9eefd0d@suse.com>
On 11/11/2016 11:22 AM, Hannes Reinecke wrote:
> On 11/11/2016 05:35 PM, Christoph Hellwig wrote:
>> On Fri, Nov 11, 2016 at 04:46:34PM +0100, Hannes Reinecke wrote:
>>> This patch enables full scsi-mq support for the hpsa driver.
>>> Due to some reports of performance regressions this patch
>>> also adds a parameter 'use_blk_mq' which can be used to
>>> disable multiqueue support if required.
>>
>> This patch looks odd to me. The hardware does not seem to support
>> multiple submission queues, which makes exposing nr_hw_queues > 1
>> rather pointless given that the block layer (using blk-mq or the legacy
>> path) can already steer completions to the submitting cpu.
>>
> Well, it's the same as with megasas and mpt3sas. Each of those have
> a single MMIO register where the driver writes the address of the
> command into. What exactly the hardware does in the back doesn't
> really matter here; the command is in memory and the hardware can
> access it as it sees fit. So from that point of view we can assume
> having a submission queue to match the completion queue;
> With that setup we do have a contention point on the single command
> register, but that's about it.
That's just wrong. We can have multiple completion queues without having
multiple submission queues. And for that to work ideally, you tell
blk/scsi-mq that you have 1 queue, since that is what you have. You
don't get great submission side scaling, but we can't pull that stuff
out of thin air. How you interface to the hardware DOES matter, it's the
whole point of multiple submission queues. Trying to make up some
imaginary 1:1 mapping between submission and completion queues is
nonsensical, when it doesn't exist.
> We still should benefit from scsi-mq, though.
Sure, but with 1 submission queue.
--
Jens Axboe
next prev parent reply other threads:[~2016-11-12 18:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-11 15:46 [PATCH] hpsa: scsi-mq support Hannes Reinecke
2016-11-11 16:34 ` kbuild test robot
2016-11-11 16:35 ` Christoph Hellwig
2016-11-11 18:22 ` Hannes Reinecke
2016-11-12 17:32 ` Christoph Hellwig
2016-11-13 9:44 ` Hannes Reinecke
2016-11-13 11:58 ` Christoph Hellwig
2016-11-14 11:05 ` Kashyap Desai
2016-11-12 18:30 ` Jens Axboe [this message]
2016-11-11 16:57 ` kbuild test robot
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=ab5aaa83-78ad-c50e-8a07-a156b0e5d84e@kernel.dk \
--to=axboe@kernel.dk \
--cc=don.brace@microsemi.com \
--cc=hare@suse.com \
--cc=hare@suse.de \
--cc=hch@infradead.org \
--cc=hch@lst.de \
--cc=james.bottomley@hansenpartnership.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).