On Wed, 24 July 2013 23:42:22 +0300, Baruch Even wrote: > On Sat, Jul 20, 2013 at 1:11 AM, Jörn Engel <jo...@logfs.org> 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/