From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Hannes Reinecke <hare@suse.de>, lsf@lists.linux-foundation.org
Cc: SCSI Mailing List <linux-scsi@vger.kernel.org>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
Subject: Re: [LSF/MM TOPIC] block-mq issues with FC
Date: Fri, 08 Apr 2016 08:11:10 -0700	[thread overview]
Message-ID: <1460128270.2340.13.camel@HansenPartnership.com> (raw)
In-Reply-To: <57079616.4000202@suse.de>
On Fri, 2016-04-08 at 13:29 +0200, Hannes Reinecke wrote:
> Hi all,
> 
> I'd like to propose a topic on block-mq issues with FC.
> During my performance testing using block/scsi-mq with FC I've hit
> several issues I'd like to discuss:
> 
> - timeout handling:
> Out of necessity the status of any timed out command is undefined.
> So to be absolutely safe HBAs will be using extended timeouts here
> (eg 70secs for lpfc). During that time we _could_ signal I/O timeout
> to the upper layers, but then the tag will be reused, despite the
> HBA still having a reference to it.
> I'd like to discuss how this could be solved best with blk-mq.
What's wrong with the obvious answer: the tag shouldn't be re-used
until after at least the TMF abort.  If we need to escalate that then
it looks like the controller lost the tag and requires a bigger hammer.
However, when I look at what we do, it seems the running abort handler
is triggered from the block timeout function, so where's the problem?
... surely mq can't free the tag until that returns, because it might
extend the time. 
James
> - Adaption on other HBAs to multiqueue:
> The current block-mq design assumes symmetric send and receive
> queues (in effect queue pairs). Any hardware _not_ providing this
> (like qla2xxx) can not be easily converted to scsi-mq. I'd like to
> discuss how one could approach converting these drivers.
> 
> Cheers,
> 
> Hannes
next prev parent reply	other threads:[~2016-04-08 15:11 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-08 11:29 [LSF/MM TOPIC] block-mq issues with FC Hannes Reinecke
2016-04-08 15:11 ` James Bottomley [this message]
2016-04-08 15:51   ` [Lsf] " Ewan D. Milne
2016-04-08 16:06     ` James Bottomley
2016-04-08 17:26 ` Bart Van Assche
2016-04-08 17:40 ` Matthew Wilcox
2016-04-08 18:00   ` James Bottomley
2016-04-08 18:08     ` Christoph Hellwig
2016-04-08 18:24       ` James Bottomley
2016-04-08 18:06   ` Keith Busch
2016-04-12 19:16     ` Jens Axboe
2016-04-08 18:14   ` Bart Van Assche
2016-04-08 19:22   ` Waskiewicz, PJ
2016-04-10 19:02   ` Sagi Grimberg
2016-04-12 19:04     ` Quinn Tran
2016-04-08 18:13 ` Christoph Hellwig
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=1460128270.2340.13.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=axboe@kernel.dk \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=lsf@lists.linux-foundation.org \
    /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).