From: Kashyap Desai <kashyap.desai@avagotech.com>
To: Christoph Hellwig <hch@lst.de>, Hannes Reinecke <hare@suse.de>
Cc: James Bottomley <jbottomley@parallels.com>,
Sumit Saxena <sumit.saxena@avagotech.com>,
linux-scsi@vger.kernel.org, Webb Scales <webbnh@hp.com>,
Don Brace <don.brace@pmcs.com>, Jens Axboe <axboe@kernel.dk>
Subject: RE: [PATCH] megaraid_sas: Enable shared host tag map
Date: Tue, 25 Nov 2014 20:33:28 +0530 [thread overview]
Message-ID: <cd290ec39c368c11217bcb4510c9ac71@mail.gmail.com> (raw)
In-Reply-To: <20141125143140.GA32570@lst.de>
> -----Original Message-----
> From: Christoph Hellwig [mailto:hch@lst.de]
> Sent: Tuesday, November 25, 2014 8:02 PM
> To: Hannes Reinecke
> Cc: James Bottomley; Sumit Saxena; Kashyap Desai; linux-
> scsi@vger.kernel.org; Webb Scales; Don Brace; Jens Axboe
> Subject: Re: [PATCH] megaraid_sas: Enable shared host tag map
>
> On Mon, Nov 24, 2014 at 04:51:14PM +0100, Hannes Reinecke wrote:
> > It is useful as is, as we'll be getting prefixed logging output :-)
>
> Use the blk-mq code path if you care :)
>
> > Which I didn't do yet as the driver is using a larger tag map than
> > that one announced to the block layer.
> > This is to facilitate internal command submission, which should always
> > work independent on any tag starvation issues from the upper layers.
>
> This is an "issue" for a lot of drivers. blk-mq provides a
reserved_tags pool
> for that, which reserves a number of tags for internal use, those must
be
> allocated using blk_mq_alloc_request with the reserved argument set to
> true.
>
> The lockless hpsa patches expose this to SCSI, which I'm generally fine
with,
> but we need to find a way to transparently make this work for the old
code
> path, too. This might be as simple as embedding a second blk_queue_tag
> structure into the Scsi_Host, adding a constant prefix to the tag and
providing
> some wrappes in scsi that allow allocating a struct request (or rather
> scsi_cmnd) for internal use.
Just trying to understand your above comment. I see host template has new
field called
"reserved_tags" which is normally used by mid layer to reserved block tag
pool for driver's internal use.
What if driver is OK to manage internal pool without any blk tag
dependency and do not expose actual max can queue of what FW can support.
For example, in megaraid_sas driver FW expose max_fw_cmd = 1024 and driver
keep some reserve (let's say 24 commands for internal use) and it just
expose 1000 command for blk tags. This will work for blk-mq and legacy
blk driver. Let driver to manage whatever internal reserved it kept for
and do not add any dependency with blk tag from above layer for those
reserved pool.
` Kashyap
next prev parent reply other threads:[~2014-11-25 15:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-24 15:33 [PATCH] megaraid_sas: Enable shared host tag map Hannes Reinecke
2014-11-24 15:35 ` Christoph Hellwig
2014-11-24 15:51 ` Hannes Reinecke
2014-11-24 15:59 ` Kashyap Desai
2014-11-25 14:31 ` Christoph Hellwig
2014-11-25 14:47 ` Hannes Reinecke
2014-11-25 16:30 ` Christoph Hellwig
2014-11-25 15:03 ` Kashyap Desai [this message]
2014-11-25 16:34 ` Christoph Hellwig
2014-11-24 15:52 ` Kashyap Desai
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=cd290ec39c368c11217bcb4510c9ac71@mail.gmail.com \
--to=kashyap.desai@avagotech.com \
--cc=axboe@kernel.dk \
--cc=don.brace@pmcs.com \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=jbottomley@parallels.com \
--cc=linux-scsi@vger.kernel.org \
--cc=sumit.saxena@avagotech.com \
--cc=webbnh@hp.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.