From: Ming Lei <ming.lei@redhat.com>
To: John Garry <john.garry@huawei.com>
Cc: jejb@linux.ibm.com, martin.petersen@oracle.com,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
kashyap.desai@broadcom.com, dgilbert@interlog.com
Subject: Re: [PATCH] scsi: core: Cap initial sdev queue depth at shost.can_queue
Date: Thu, 22 Apr 2021 09:38:28 +0800 [thread overview]
Message-ID: <YIDTlD2Mq+U36Oqz@T590> (raw)
In-Reply-To: <bba5f248-523d-0def-1a3e-bafeb2b7633f@huawei.com>
On Tue, Apr 20, 2021 at 09:14:12AM +0100, John Garry wrote:
> On 20/04/2021 01:02, Ming Lei wrote:
> > On Tue, Apr 20, 2021 at 12:06:24AM +0800, John Garry wrote:
> > > Function sdev_store_queue_depth() enforces that the sdev queue depth cannot
> > > exceed shost.can_queue.
> > >
> > > However, the LLDD may still set cmd_per_lun > can_queue, which leads to an
> > > initial sdev queue depth greater than can_queue.
> > >
> > > Stop this happened by capping initial sdev queue depth at can_queue.
> > >
> > > Signed-off-by: John Garry <john.garry@huawei.com>
> > > ---
> > > Topic originally discussed at:
> > > https://lore.kernel.org/linux-scsi/85dec8eb-8eab-c7d6-b0fb-5622747c5499@interlog.com/T/#m5663d0cac657d843b93d0c9a2374f98fc04384b9
> > >
> > > Last idea there was to error/warn in scsi_add_host() for cmd_per_lun >
> >
>
> Hi Ming,
>
> > No, that isn't my suggestion.
>
> Right, it was what I mentioned.
>
> >
> > > can_queue. However, such a shost driver could still configure the sdev
> > > queue depth to be sound value at .slave_configure callback, so now thinking
> > > the orig patch better.
> >
> > As I mentioned last time, why can't we fix ->cmd_per_lun in
> > scsi_add_host() using .can_queue?
> >
>
> I would rather not change the values which are provided from the driver. I
> would rather take the original values and try to use them in a sane way.
>
> I have not seen other places where driver shost config values are modified
> by the core code.
Wrt. .cmd_per_lun, I think it is safe to modify it into one correct
depth because almost all drivers are just producer of .cmd_per_lun. And
except for debug purpose, there are only three consumers of .cmd_per_lun
in scsi, and all are for scsi_change_queue_depth():
process_message()
scsi_alloc_sdev()
virtscsi_change_queue_depth()
Thanks,
Ming
next prev parent reply other threads:[~2021-04-22 1:38 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-19 16:06 [PATCH] scsi: core: Cap initial sdev queue depth at shost.can_queue John Garry
2021-04-20 0:02 ` Ming Lei
2021-04-20 8:14 ` John Garry
2021-04-22 1:38 ` Ming Lei [this message]
2021-04-22 16:35 ` John Garry
2021-04-23 1:54 ` Ming Lei
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=YIDTlD2Mq+U36Oqz@T590 \
--to=ming.lei@redhat.com \
--cc=dgilbert@interlog.com \
--cc=jejb@linux.ibm.com \
--cc=john.garry@huawei.com \
--cc=kashyap.desai@broadcom.com \
--cc=linux-kernel@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.