> -----Original Message-----
> From: [email protected] [mailto:linux-scsi-
> [email protected]] On Behalf Of Don Brace
> Sent: Friday, November 11, 2016 10:09 AM
> To: Hannes Reinecke; [email protected]; John Hall; Kevin Barnett;
> Mahesh Rajashekhara; [email protected]; Scott Teel; Viswas G; Justin
> Lindley; Scott Benesh; [email protected]; [email protected]
> Cc: [email protected]
> Subject: RE: [PATCH 2/4] hpsa: add generate controller NMI on lockup
> 
> EXTERNAL EMAIL
> 
> 
> > -----Original Message-----
> > From: Hannes Reinecke [mailto:[email protected]]
> > Sent: Thursday, October 27, 2016 4:03 AM
> > To: Don Brace; [email protected]; John Hall; Kevin Barnett; Mahesh
> > Rajashekhara; [email protected]; Scott Teel; Viswas G; Justin Lindley;
> Scott
> > Benesh; [email protected]; [email protected]
> > Cc: [email protected]
> > 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 <[email protected]>
> > > Reviewed-by: Scott Teel <[email protected]>
> > > Reviewed-by: Kevin Barnett <[email protected]>
> > > Signed-off-by: Don Brace <[email protected]>
> > > ---
> > >  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
> > [email protected]                                   +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