> -----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

