All of lore.kernel.org
 help / color / mirror / Atom feed
From: Edward Goggin <egoggin@vmware.com>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: linux-scsi@vger.kernel.org, Adam Zimman <azimman@vmware.com>,
	Petr Vandrovec <petr@vmware.com>,
	dgreen@vmware.com, Manon Goo <manon@manon.de>,
	Michael Reed <mdr@sgi.com>, "Moore, Eric" <Eric.Moore@lsi.com>,
	David Berghoff <david@dg-i.net>, Vicky Xu <vgxu@vmware.com>,
	"Shirron, Stephen" <Stephen.Shirron@lsi.com>
Subject: Re: [PATCH 2/5] fusion: vmware bug fix prevent inifinite retries
Date: Wed, 10 Jan 2007 11:44:23 -0500	[thread overview]
Message-ID: <1168447463.8850.110.camel@egoggin-devd.eng.vmware.com> (raw)
In-Reply-To: <1168445431.10693.3.camel@mulgrave.il.steeleye.com>

On Wed, 2007-01-10 at 08:10 -0800, James Bottomley wrote:
> On Tue, 2007-01-09 at 16:32 -0500, Edward Goggin wrote:
> > The attached (untested) patch shows a VMware and scsi transport agnostic
> > approach which introduces a new host status (DID_QUALIFIED_REQUEUE) to
> > be used by mptscsih.c (and other LLDs) instead of DID_BUS_BUSY.  A host
> > status of DID_QUALIFIED_REQUEUE will return ADD_TO_MLQUEUE from
> > scsi_decide_disposition IFF the REQ_FAILFAST bit is not set in the
> > cmd_flags field of the SCSI command's request structure.
> > 
> > The approach depends on both VMware Linux guests not setting
> > REQ_FAILFAST and non-VMware Linux hosts with an IBM RDAC/MPP multi-
> > pathing driver doing so.  This requirement is not a problem for VMware
> > since its guest operating systems have no need to configure block device
> > multi-pathing.  This requirement shouldn't be a problem for the IBM
> > RDAC/MPP driver either since it should already be setting the
> > REQ_FAILFAST attribute of I/Os for which it is providing multi-pathing,
> > similar to what the Linux dm-multipath driver already does.
> 
> Not in the driver, please ...
> 
> the SAM status BUSY is a well known one for array controllers to return
> while contemplating a failover.  Thus, if we think this is the issue,
> the mid-layer should be the entity to pass the status through on
> REQ_FAILFAST not the driver (i.e. pass SAM_STAT_BUSY through unmodified
> and alter the mid-layer).  However, I'd be unhappy about doing this:
> BUSY is a standard return for a lot of controllers for transient
> resource conditions, which wouldn't necessarily be alleviated on path
> failover.
> 
> James
> 

I share your concern about affecting the semantics of SAM_STAT_BUSY.
This is why the patch introduces a new host status instead of simply
changing the code for BUSY in scsi_decide_disposition to requeue only if
not REQ_FAILFAST.

The new host status is meant to provide the option for LLDs to enact
conditional requeuing of the cmd (conditional based on the REQ_FAILFAST
setting) which is not throttled by the cmd's retry count -- a capability
which is not there currently.

> 

  reply	other threads:[~2007-01-10 16:45 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-09 18:14 [PATCH 2/5] fusion: vmware bug fix prevent inifinite retries Adam Zimman
2007-01-09 20:55 ` Petr Vandrovec
2007-01-09 21:32   ` Edward Goggin
2007-01-10 16:10     ` James Bottomley
2007-01-10 16:44       ` Edward Goggin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2007-01-10  5:44 Moore, Eric
2007-01-09  1:37 Moore, Eric
2007-01-09 16:17 ` Michael Reed
2007-01-09 17:49   ` Manon Goo
2007-01-08 22:03 Moore, Eric
2007-01-08 22:24 ` James Bottomley
2007-01-05  3:46 Eric Moore
2007-01-06 15:30 ` James Bottomley
2007-01-06 16:10   ` Matthew Wilcox
2007-01-06 16:28     ` James Bottomley

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=1168447463.8850.110.camel@egoggin-devd.eng.vmware.com \
    --to=egoggin@vmware.com \
    --cc=Eric.Moore@lsi.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=Stephen.Shirron@lsi.com \
    --cc=azimman@vmware.com \
    --cc=david@dg-i.net \
    --cc=dgreen@vmware.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=manon@manon.de \
    --cc=mdr@sgi.com \
    --cc=petr@vmware.com \
    --cc=vgxu@vmware.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.