> -----Original Message-----
> From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi-
> ow...@vger.kernel.org] On Behalf Of Don Brace
> Sent: Friday, November 11, 2016 10:09 AM
> To: Hannes Reinecke; j...@linux.vnet.ibm.com; John Hall; Kevin Barnett;
> Mahesh Rajashekhara; h...@infradead.org; Scott Teel; Viswas G; Justin
> Lindley; Scott Benesh; elli...@hpe.com; posw...@suse.com
> Cc: linux-scsi@vger.kernel.org
> Subject: RE: [PATCH 2/4] hpsa: add generate controller NMI on lockup
> 
> EXTERNAL EMAIL
> 
> 
> > -----Original Message-----
> > From: Hannes Reinecke [mailto:h...@suse.de]
> > Sent: Thursday, October 27, 2016 4:03 AM
> > To: Don Brace; j...@linux.vnet.ibm.com; John Hall; Kevin Barnett; Mahesh
> > Rajashekhara; h...@infradead.org; Scott Teel; Viswas G; Justin Lindley;
> Scott
> > Benesh; elli...@hpe.com; posw...@suse.com
> > Cc: linux-scsi@vger.kernel.org
> > Subject: Re: [PATCH 2/4] hpsa: add generate controller NMI on lockup
> >
> > EXTERNAL EMAIL
> >
> >
> > On 10/27/2016 12:21 AM, Don Brace wrote:
> > > Tell the controller to NMI when the controller deadlocks.
> > >
> > > Reviewed-by: Scott Benesh <scott.ben...@microsemi.com>
> > > Reviewed-by: Scott Teel <scott.t...@microsemi.com>
> > > Reviewed-by: Kevin Barnett <kevin.barn...@microsemi.com>
> > > Signed-off-by: Don Brace <don.br...@microsemi.com>
> > > ---
> > >  drivers/scsi/hpsa.c     |    6 ++++++
> > >  drivers/scsi/hpsa_cmd.h |    1 +
> > >  2 files changed, 7 insertions(+)
> > >
> > > diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> > > index 798fb20..9fb739c 100644
> > > --- a/drivers/scsi/hpsa.c
> > > +++ b/drivers/scsi/hpsa.c
> > > @@ -8451,6 +8451,12 @@ static void controller_lockup_detected(struct
> > ctlr_info *h)
> > >                       "lockup detected after %d but scratchpad register 
> > > is zero\n",
> > >                       h->heartbeat_sample_interval / HZ);
> > >               lockup_detected = 0xffffffff;
> > > +     } else if (lockup_detected == 0xffff0000) {
> > > +             /*
> > > +              * Ring controller NMI doorbell
> > > +              */
> > > +             dev_warn(&h->pdev->dev, "Telling controller to do an 
> > > NMI\n");
> > > +             writel(DOORBELL_GENERATE_NMI, h->vaddr + SA5_DOORBELL);
> > >       }
> > >       set_lockup_detected_for_all_cpus(h, lockup_detected);
> > >       spin_unlock_irqrestore(&h->lock, flags);
> > > diff --git a/drivers/scsi/hpsa_cmd.h b/drivers/scsi/hpsa_cmd.h
> > > index a584cdf..d186f80 100644
> > > --- a/drivers/scsi/hpsa_cmd.h
> > > +++ b/drivers/scsi/hpsa_cmd.h
> > > @@ -142,6 +142,7 @@
> > >  #define DOORBELL_CTLR_RESET  0x00000004l
> > >  #define DOORBELL_CTLR_RESET2 0x00000020l
> > >  #define DOORBELL_CLEAR_EVENTS        0x00000040l
> > > +#define DOORBELL_GENERATE_NMI        0x00000080l
> > >
> > >  #define CFGTBL_Trans_Simple     0x00000002l
> > >  #define CFGTBL_Trans_Performant 0x00000004l
> > >
> > Care to elaborate a bit more here?
> > 'Generating NMI' tends to ring some alarm bells, so I'd rather know
> > where the NMI is actually generated, and if is could reflect back to the
> > system ...
> >
> > Cheers,
> >
> > Hannes
> > --
> > Dr. Hannes Reinecke                Teamlead Storage & Networking
> > h...@suse.de                                   +49 911 74053 688
> > SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
> > GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
> > HRB 21284 (AG Nürnberg)
> 
> 
> There are some rare cases where we get this lockup code and we
> need to tell the controller to do its own NMI. This NMI is only done
> on the controller and does not tell the OS to perform an NMI.
> 
> Thanks,
> Don Brace

Wondering what has happened to this patch?

Thanks,
Don Brace
ESC - Smart Storage
Microsemi Corporation


Reply via email to