Re: [PATCH] mpt2sas: don't handle broadcast primitives

From: JÃrn Engel
Date: Wed Jul 24 2013 - 16:56:00 EST


On Wed, 24 July 2013 23:42:22 +0300, Baruch Even wrote:
> On Sat, Jul 20, 2013 at 1:11 AM, JÃrn Engel <joern@xxxxxxxxx> wrote:
> > On Fri, 19 July 2013 18:06:59 -0400, JÃrn Engel wrote:
> >>
> >> The handling of broadcast primitives involves
> >> _scsih_block_io_all_device(), which does what the name implies. I have
> >> observed cases with >60s of blocking io on all devices, caused by a
> >> single bad device. The downsides of this code are obvious, while the
> >> upsides are more elusive.
> >
> > And since this patch looks more like an April fools joke: I have
> > gathered a few machine-months of testing, including tortures that
> > specifically stress the removed codepaths. This is a serious
> > submission and unless someone can show me a _very_ good reason for
> > keeping the deleted code, I would like to get it merged.
>
> This would seem to cause an IO pause through the host whenever there
> is a disk removal/insertion or SES (SAS expander) change which seems
> like a bad proposition indeed. The part of the work that this code
> seems to handle is that when such a change happens something needs to
> detect the dead IOs (f.ex. surprise disk removal) but I believe that
> the SAS HBA firmware will do that internally already so I do think
> this code is needless.
>
> The only thing I'd like not to lose is the actual notification and
> ability to log the fact that there was a broadcast notification on the
> SAS network.

I agree logging would be nice. However my attempts to keep logging and
remove the IO pause were unsuccessful. Apparently something inside
_scsih_sas_broadcast_primitive_event() is required to get future
events. If someone from LSI with data sheets and understanding of the
firmware can do a better patch, I would be happy.

JÃrn

--
The story so far:
In the beginning the Universe was created. This has made a lot
of people very angry and been widely regarded as a bad move.
-- Douglas Adams
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/