> -----Original Message----- > From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi- > owner@xxxxxxxxxxxxxxx] On Behalf Of Don Brace > Sent: Friday, November 11, 2016 10:09 AM > To: Hannes Reinecke; jejb@xxxxxxxxxxxxxxxxxx; John Hall; Kevin Barnett; > Mahesh Rajashekhara; hch@xxxxxxxxxxxxx; Scott Teel; Viswas G; Justin > Lindley; Scott Benesh; elliott@xxxxxxx; POSWALD@xxxxxxxx > Cc: linux-scsi@xxxxxxxxxxxxxxx > Subject: RE: [PATCH 2/4] hpsa: add generate controller NMI on lockup > > EXTERNAL EMAIL > > > > -----Original Message----- > > From: Hannes Reinecke [mailto:hare@xxxxxxx] > > Sent: Thursday, October 27, 2016 4:03 AM > > To: Don Brace; jejb@xxxxxxxxxxxxxxxxxx; John Hall; Kevin Barnett; Mahesh > > Rajashekhara; hch@xxxxxxxxxxxxx; Scott Teel; Viswas G; Justin Lindley; > Scott > > Benesh; elliott@xxxxxxx; POSWALD@xxxxxxxx > > Cc: linux-scsi@xxxxxxxxxxxxxxx > > 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.benesh@xxxxxxxxxxxxx> > > > Reviewed-by: Scott Teel <scott.teel@xxxxxxxxxxxxx> > > > Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxxxxxxx> > > > Signed-off-by: Don Brace <don.brace@xxxxxxxxxxxxx> > > > --- > > > 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 > > hare@xxxxxxx +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 ��.n��������+%������w��{.n�����{������ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f