From: Christoph Hellwig <hch@infradead.org>
To: Bart Van Assche <bvanassche@acm.org>
Cc: scameron@beardog.cce.hp.com,
Christoph Hellwig <hch@infradead.org>,
linux-scsi@vger.kernel.org, stephenmcameron@gmail.com,
dab@hp.com
Subject: Re: SCSI mid layer and high IOPS capable devices
Date: Wed, 19 Dec 2012 09:23:09 -0500 [thread overview]
Message-ID: <20121219142309.GA13278@infradead.org> (raw)
In-Reply-To: <50CC4588.1010608@acm.org>
On Sat, Dec 15, 2012 at 10:40:24AM +0100, Bart Van Assche wrote:
> On 12/14/12 22:06, scameron@beardog.cce.hp.com wrote:
> >[ ... ] how to get the scsi mid layer to provide a wide enough
> >highway for requests destined for very low latency devices.
>
> While the SCSI mid-layer is processing an I/O request not only the
> queue lock has to be locked and unlocked several times but also the
> SCSI host lock. The reason that it's unavoidable to lock and unlock
> the host lock is because the SCSI core has been designed for SCSI
> equipment that has a queue depth limit per host (shost->can_queue).
> For single LUN devices that model could be changed in a queue depth
> limit per LUN. Also, it's probably not that hard to modify software
> SCSI target implementations such that these have a queue depth limit
> per LUN instead of per host.
We'd also better avoid needing a lock to check these limits, especially
if we normally don't hit them. The easiest way to get started would
be to simply allow a magic can_queue value that keeps these as unlimited
and only let the driver return one of the busy values from
->queuecommand. We could then use unlocked list empty checks to see
if anything is in a waiting list and enter a slow path mode.
next prev parent reply other threads:[~2012-12-19 14:23 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-11 0:00 SCSI mid layer and high IOPS capable devices scameron
2012-12-11 8:21 ` Bart Van Assche
2012-12-11 22:46 ` scameron
2012-12-13 11:40 ` Bart Van Assche
2012-12-13 18:03 ` scameron
2012-12-13 17:18 ` Bart Van Assche
2012-12-13 15:22 ` Bart Van Assche
2012-12-13 17:25 ` scameron
2012-12-13 16:47 ` Bart Van Assche
2012-12-13 16:49 ` Christoph Hellwig
2012-12-14 9:44 ` Bart Van Assche
2012-12-14 16:44 ` scameron
2012-12-14 16:15 ` Bart Van Assche
2012-12-14 19:55 ` scameron
2012-12-14 19:28 ` Bart Van Assche
2012-12-14 21:06 ` scameron
2012-12-15 9:40 ` Bart Van Assche
2012-12-19 14:23 ` Christoph Hellwig [this message]
2012-12-13 21:20 ` scameron
2012-12-14 0:22 ` Jack Wang
[not found] ` <CADzpL0TMT31yka98Zv0=53N4=pDZOc9+gacnvDWMbj+iZg4H5w@mail.gmail.com>
[not found] ` <006301cdd99c$35099b40$9f1cd1c0$@com>
[not found] ` <CADzpL0S5cfCRQftrxHij8KOjKj55psSJedmXLBQz1uQm_SC30A@mail.gmail.com>
2012-12-14 4:59 ` Jack Wang
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=20121219142309.GA13278@infradead.org \
--to=hch@infradead.org \
--cc=bvanassche@acm.org \
--cc=dab@hp.com \
--cc=linux-scsi@vger.kernel.org \
--cc=scameron@beardog.cce.hp.com \
--cc=stephenmcameron@gmail.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.