diff mbox

[v2,RESEND,08/23] hpsa: Fallback to MSI rather than to INTx if MSI-X failed

Message ID 3ca64c251518a2db8810534b4e63ec696bcfeefd.1405533479.git.agordeev@redhat.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Alexander Gordeev July 16, 2014, 6:05 p.m. UTC
Currently the driver falls back to INTx mode when MSI-X
initialization failed. This is a suboptimal behaviour
for chips that also support MSI. This update changes that
behaviour and falls back to MSI mode in case MSI-X mode
initialization failed.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Cc: "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
Cc: iss_storagedev@hp.com
Cc: linux-scsi@vger.kernel.org
Cc: linux-pci@vger.kernel.org
---
 drivers/scsi/hpsa.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

Comments

Alexander Gordeev July 26, 2014, 8:16 a.m. UTC | #1
On Wed, Jul 16, 2014 at 08:05:12PM +0200, Alexander Gordeev wrote:
> Currently the driver falls back to INTx mode when MSI-X
> initialization failed. This is a suboptimal behaviour
> for chips that also support MSI. This update changes that
> behaviour and falls back to MSI mode in case MSI-X mode
> initialization failed.

Hi Stephen,

Could you please reveiew hpsa patches in this series?

Thanks!

> Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
> Cc: "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
> Cc: iss_storagedev@hp.com
> Cc: linux-scsi@vger.kernel.org
> Cc: linux-pci@vger.kernel.org
> ---
>  drivers/scsi/hpsa.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> index 31184b3..648dec2 100644
> --- a/drivers/scsi/hpsa.c
> +++ b/drivers/scsi/hpsa.c
> @@ -6177,7 +6177,6 @@ static void hpsa_interrupt_mode(struct ctlr_info *h)
>  			dev_warn(&h->pdev->dev, "MSI-X init failed %d\n",
>  			       err);
>  			h->msix_vector = 0;
> -			goto default_int_mode;
>  		}
>  	}
>  	if (pci_find_capability(h->pdev, PCI_CAP_ID_MSI)) {
> -- 
> 1.7.7.6
>
Alexander Gordeev Aug. 11, 2014, 7:53 a.m. UTC | #2
On Sat, Jul 26, 2014 at 09:16:47AM +0100, Alexander Gordeev wrote:
> On Wed, Jul 16, 2014 at 08:05:12PM +0200, Alexander Gordeev wrote:
> > Currently the driver falls back to INTx mode when MSI-X
> > initialization failed. This is a suboptimal behaviour
> > for chips that also support MSI. This update changes that
> > behaviour and falls back to MSI mode in case MSI-X mode
> > initialization failed.
> 
> Hi Stephen,
> 
> Could you please reveiew hpsa patches in this series?

Stephen?

> Thanks!
> 
> > Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
> > Cc: "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
> > Cc: iss_storagedev@hp.com
> > Cc: linux-scsi@vger.kernel.org
> > Cc: linux-pci@vger.kernel.org
> > ---
> >  drivers/scsi/hpsa.c |    1 -
> >  1 files changed, 0 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> > index 31184b3..648dec2 100644
> > --- a/drivers/scsi/hpsa.c
> > +++ b/drivers/scsi/hpsa.c
> > @@ -6177,7 +6177,6 @@ static void hpsa_interrupt_mode(struct ctlr_info *h)
> >  			dev_warn(&h->pdev->dev, "MSI-X init failed %d\n",
> >  			       err);
> >  			h->msix_vector = 0;
> > -			goto default_int_mode;
> >  		}
> >  	}
> >  	if (pci_find_capability(h->pdev, PCI_CAP_ID_MSI)) {
> > -- 
> > 1.7.7.6
> > 
> 
> -- 
> Regards,
> Alexander Gordeev
> agordeev@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Cameron Aug. 13, 2014, 4:04 p.m. UTC | #3
On Wed, Jul 16, 2014 at 08:05:12PM +0200, Alexander Gordeev wrote:
> Currently the driver falls back to INTx mode when MSI-X
> initialization failed. This is a suboptimal behaviour
> for chips that also support MSI. This update changes that
> behaviour and falls back to MSI mode in case MSI-X mode
> initialization failed.
> 
> Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
> Cc: "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
> Cc: iss_storagedev@hp.com
> Cc: linux-scsi@vger.kernel.org
> Cc: linux-pci@vger.kernel.org
> ---
>  drivers/scsi/hpsa.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> index 31184b3..648dec2 100644
> --- a/drivers/scsi/hpsa.c
> +++ b/drivers/scsi/hpsa.c
> @@ -6177,7 +6177,6 @@ static void hpsa_interrupt_mode(struct ctlr_info *h)
>  			dev_warn(&h->pdev->dev, "MSI-X init failed %d\n",
>  			       err);
>  			h->msix_vector = 0;
> -			goto default_int_mode;
>  		}
>  	}
>  	if (pci_find_capability(h->pdev, PCI_CAP_ID_MSI)) {
> -- 
> 1.7.7.6

Ack.

Sorry for the slow reply, this got lost in the tornadic maelstrom
I call my inbox.

I also tested this with a Smart Array P420, P420i, and P430 in
the system by ifdef'ing out the code for MSI-X and setting
h->msix_vector = 0, to force it down the MSI path, and that all
appears to work. 

-- steve

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexander Gordeev Aug. 13, 2014, 5:05 p.m. UTC | #4
On Wed, Aug 13, 2014 at 11:04:54AM -0500, scameron@beardog.cce.hp.com wrote:
> On Wed, Jul 16, 2014 at 08:05:12PM +0200, Alexander Gordeev wrote:
> > Currently the driver falls back to INTx mode when MSI-X
> > initialization failed. This is a suboptimal behaviour
> > for chips that also support MSI. This update changes that
> > behaviour and falls back to MSI mode in case MSI-X mode
> > initialization failed.
> > 
> > Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
> > Cc: "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
> > Cc: iss_storagedev@hp.com
> > Cc: linux-scsi@vger.kernel.org
> > Cc: linux-pci@vger.kernel.org
> > ---
> >  drivers/scsi/hpsa.c |    1 -
> >  1 files changed, 0 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> > index 31184b3..648dec2 100644
> > --- a/drivers/scsi/hpsa.c
> > +++ b/drivers/scsi/hpsa.c
> > @@ -6177,7 +6177,6 @@ static void hpsa_interrupt_mode(struct ctlr_info *h)
> >  			dev_warn(&h->pdev->dev, "MSI-X init failed %d\n",
> >  			       err);
> >  			h->msix_vector = 0;
> > -			goto default_int_mode;
> >  		}
> >  	}
> >  	if (pci_find_capability(h->pdev, PCI_CAP_ID_MSI)) {
> > -- 
> > 1.7.7.6
> 
> Ack.
> 
> Sorry for the slow reply, this got lost in the tornadic maelstrom
> I call my inbox.
> 
> I also tested this with a Smart Array P420, P420i, and P430 in
> the system by ifdef'ing out the code for MSI-X and setting
> h->msix_vector = 0, to force it down the MSI path, and that all
> appears to work. 

Thank you, Steve!
If your Ack apply to 08/23 or to 09/23 as well?

> -- steve
>
diff mbox

Patch

diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 31184b3..648dec2 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -6177,7 +6177,6 @@  static void hpsa_interrupt_mode(struct ctlr_info *h)
 			dev_warn(&h->pdev->dev, "MSI-X init failed %d\n",
 			       err);
 			h->msix_vector = 0;
-			goto default_int_mode;
 		}
 	}
 	if (pci_find_capability(h->pdev, PCI_CAP_ID_MSI)) {