linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support
@ 2010-01-14  0:20 George Kadianakis
  2010-01-14 17:03 ` James Smart
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: George Kadianakis @ 2010-01-14  0:20 UTC (permalink / raw)
  To: linux-scsi; +Cc: james.smart

From: George Kadianakis <desnacked {bomb} gmail {point} com>

A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
This patch restores lpfc's ability to support MSI-X/MSI interrupts that the 
"Addition of SLI4 Interface - Base Support" patch [2] broke.
It reestablishes MSI-X as the default interrupt method and in case MSI-X is not 
supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.

[1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
[2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d

Signed-off-by:  George Kadianakis <desnacked {cat} gmail {dog} com>
---
 drivers/scsi/lpfc/lpfc_attr.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index e1a30a1..936ecaf 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -2890,12 +2890,12 @@ LPFC_ATTR_RW(poll_tmo, 10, 1, 255,
 /*
 # lpfc_use_msi: Use MSI (Message Signaled Interrupts) in systems that
 # 				 support this feature
-#       0  = MSI disabled (default)
+#       0  = MSI disabled
 #       1  = MSI enabled
-#       2  = MSI-X enabled
+#       2  = MSI-X enabled (default)
 # Value range is [0,2]. Default value is 0.
 */
-LPFC_ATTR_R(use_msi, 0, 0, 2, "Use Message Signaled Interrupts (1) or "
+LPFC_ATTR_R(use_msi, 2, 0, 2, "Use Message Signaled Interrupts (1) or "
 					      "MSI-X (2), if possible");
 
 /*

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support
  2010-01-14  0:20 [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support George Kadianakis
@ 2010-01-14 17:03 ` James Smart
  2010-01-14 17:26   ` George Kadianakis
  2010-01-14 22:02 ` Yinghai Lu
  2010-01-17 18:47 ` James Bottomley
  2 siblings, 1 reply; 8+ messages in thread
From: James Smart @ 2010-01-14 17:03 UTC (permalink / raw)
  To: George Kadianakis; +Cc: linux-scsi@vger.kernel.org


The short response:
Acked-by: James Smart  <james.smart@emulex.com>


Background:
Nothing Broke. This was intended.

We had originally enabled MSI-X by default, but in qualification within the 
last 12 months, we encountered a major catch-22:

There were at least 4 platforms, from 2 major OEMs, that :
- Say they support MSI-X - platform routines work and act as if they do.
- We enable it, generate a test interrupt to check they really do deliver it, 
and it works.
- But shortly after attachment, the system hangs or loses interrupts, 
resulting in a bad system behavior.

Given the distro's picking up the 2.6.32 kernel, we had to stick with a 
default of MSI-X off, with user-enabled MSI-X as these platforms couldn't get 
fixed.

However, we're also now encountering platforms that require MSI-X and never 
INTx, so we must change. It's desired also for also for performance reasons.

So - now (2.6.33) is the right time to re-enable MSI-X by default.


-- james s



George Kadianakis wrote:
> From: George Kadianakis <desnacked {bomb} gmail {point} com>
> 
> A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
> This patch restores lpfc's ability to support MSI-X/MSI interrupts that the 
> "Addition of SLI4 Interface - Base Support" patch [2] broke.
> It reestablishes MSI-X as the default interrupt method and in case MSI-X is not 
> supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.
> 
> [1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
> [2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d
> 
> Signed-off-by:  George Kadianakis <desnacked {cat} gmail {dog} com>
> ---
>  drivers/scsi/lpfc/lpfc_attr.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> 
> diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
> index e1a30a1..936ecaf 100644
> --- a/drivers/scsi/lpfc/lpfc_attr.c
> +++ b/drivers/scsi/lpfc/lpfc_attr.c
> @@ -2890,12 +2890,12 @@ LPFC_ATTR_RW(poll_tmo, 10, 1, 255,
>  /*
>  # lpfc_use_msi: Use MSI (Message Signaled Interrupts) in systems that
>  # 				 support this feature
> -#       0  = MSI disabled (default)
> +#       0  = MSI disabled
>  #       1  = MSI enabled
> -#       2  = MSI-X enabled
> +#       2  = MSI-X enabled (default)
>  # Value range is [0,2]. Default value is 0.
>  */
> -LPFC_ATTR_R(use_msi, 0, 0, 2, "Use Message Signaled Interrupts (1) or "
> +LPFC_ATTR_R(use_msi, 2, 0, 2, "Use Message Signaled Interrupts (1) or "
>  					      "MSI-X (2), if possible");
>  
>  /*
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support
  2010-01-14 17:03 ` James Smart
@ 2010-01-14 17:26   ` George Kadianakis
  0 siblings, 0 replies; 8+ messages in thread
From: George Kadianakis @ 2010-01-14 17:26 UTC (permalink / raw)
  To: James Smart; +Cc: linux-scsi@vger.kernel.org

James Smart <james.smart@emulex.com> writes:

> The short response:
> Acked-by: James Smart  <james.smart@emulex.com>
>
>
> Background:
> Nothing Broke. This was intended.
>
> We had originally enabled MSI-X by default, but in qualification
> within the last 12 months, we encountered a major catch-22:
>
> There were at least 4 platforms, from 2 major OEMs, that :
> - Say they support MSI-X - platform routines work and act as if they do.
> - We enable it, generate a test interrupt to check they really do
> deliver it, and it works.
> - But shortly after attachment, the system hangs or loses interrupts,
> resulting in a bad system behavior.
>
> Given the distro's picking up the 2.6.32 kernel, we had to stick with
> a default of MSI-X off, with user-enabled MSI-X as these platforms
> couldn't get fixed.
>
> However, we're also now encountering platforms that require MSI-X and
> never INTx, so we must change. It's desired also for also for
> performance reasons.
>
> So - now (2.6.33) is the right time to re-enable MSI-X by default.
>
>
> -- james s
>

So I see! Thanks for the clarification.
It was just that your commit's description didn't mention the
interrupt method change at all (and I also couldn't find any
information on the internet), and I thought it was accidental.

Anyway, all in all, I think that the correct course of action here is
to have MSI-X as the default (for the reasons you described) and users
with defective systems can enable INTx manually.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support
  2010-01-14  0:20 [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support George Kadianakis
  2010-01-14 17:03 ` James Smart
@ 2010-01-14 22:02 ` Yinghai Lu
  2010-01-17 18:47 ` James Bottomley
  2 siblings, 0 replies; 8+ messages in thread
From: Yinghai Lu @ 2010-01-14 22:02 UTC (permalink / raw)
  To: George Kadianakis; +Cc: linux-scsi, james.smart

On Wed, Jan 13, 2010 at 4:20 PM, George Kadianakis <desnacked@gmail.com> wrote:
> From: George Kadianakis <desnacked {bomb} gmail {point} com>
>
> A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
> This patch restores lpfc's ability to support MSI-X/MSI interrupts that the
> "Addition of SLI4 Interface - Base Support" patch [2] broke.
> It reestablishes MSI-X as the default interrupt method and in case MSI-X is not
> supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.
>
> [1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
> [2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d
>
> Signed-off-by:  George Kadianakis <desnacked {cat} gmail {dog} com>
> ---
>  drivers/scsi/lpfc/lpfc_attr.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
>
> diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
> index e1a30a1..936ecaf 100644
> --- a/drivers/scsi/lpfc/lpfc_attr.c
> +++ b/drivers/scsi/lpfc/lpfc_attr.c
> @@ -2890,12 +2890,12 @@ LPFC_ATTR_RW(poll_tmo, 10, 1, 255,
>  /*
>  # lpfc_use_msi: Use MSI (Message Signaled Interrupts) in systems that
>  #                               support this feature
> -#       0  = MSI disabled (default)
> +#       0  = MSI disabled
>  #       1  = MSI enabled
> -#       2  = MSI-X enabled
> +#       2  = MSI-X enabled (default)
>  # Value range is [0,2]. Default value is 0.
0 ?
>  */
> -LPFC_ATTR_R(use_msi, 0, 0, 2, "Use Message Signaled Interrupts (1) or "
> +LPFC_ATTR_R(use_msi, 2, 0, 2, "Use Message Signaled Interrupts (1) or "
>                                              "MSI-X (2), if possible");
>
>  /*
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support
  2010-01-14  0:20 [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support George Kadianakis
  2010-01-14 17:03 ` James Smart
  2010-01-14 22:02 ` Yinghai Lu
@ 2010-01-17 18:47 ` James Bottomley
  2010-01-17 19:19   ` George Kadianakis
  2 siblings, 1 reply; 8+ messages in thread
From: James Bottomley @ 2010-01-17 18:47 UTC (permalink / raw)
  To: George Kadianakis; +Cc: linux-scsi, james.smart

On Thu, 2010-01-14 at 02:20 +0200, George Kadianakis wrote:
> From: George Kadianakis <desnacked {bomb} gmail {point} com>
> 
> A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
> This patch restores lpfc's ability to support MSI-X/MSI interrupts that the 
> "Addition of SLI4 Interface - Base Support" patch [2] broke.
> It reestablishes MSI-X as the default interrupt method and in case MSI-X is not 
> supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.
> 
> [1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
> [2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d

So now I have an ack for this, I need an applyable patch.

> Signed-off-by:  George Kadianakis <desnacked {cat} gmail {dog} com>

This needs to be a proper email

>  drivers/scsi/lpfc/lpfc_attr.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> 
> diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
> index e1a30a1..936ecaf 100644
> --- a/drivers/scsi/lpfc/lpfc_attr.c
> +++ b/drivers/scsi/lpfc/lpfc_attr.c
> @@ -2890,12 +2890,12 @@ LPFC_ATTR_RW(poll_tmo, 10, 1, 255,
>  /*
>  # lpfc_use_msi: Use MSI (Message Signaled Interrupts) in systems that
>  # 				 support this feature
> -#       0  = MSI disabled (default)
> +#       0  = MSI disabled
>  #       1  = MSI enabled
> -#       2  = MSI-X enabled
> +#       2  = MSI-X enabled (default)
>  # Value range is [0,2]. Default value is 0.
>  */
> -LPFC_ATTR_R(use_msi, 0, 0, 2, "Use Message Signaled Interrupts (1) or "
> +LPFC_ATTR_R(use_msi, 2, 0, 2, "Use Message Signaled Interrupts (1) or "
>  					      "MSI-X (2), if possible");
>  
>  /*

And for some reason there are extra tabs in the above lines which cause
patch to reject.

James



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support
  2010-01-17 18:47 ` James Bottomley
@ 2010-01-17 19:19   ` George Kadianakis
  2010-01-18 14:48     ` Rolf Eike Beer
  0 siblings, 1 reply; 8+ messages in thread
From: George Kadianakis @ 2010-01-17 19:19 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi, james.smart

From: George Kadianakis <desnacked {bomb} gmail {point} com>

A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
This patch restores lpfc's ability to support MSI-X/MSI interrupts that the 
"Addition of SLI4 Interface - Base Support" patch [2] broke.
It reestablishes MSI-X as the default interrupt method and in case MSI-X is not 
supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.

[1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
[2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d

Signed-off-by:  George Kadianakis <desnacked@gmail.com>
---
 drivers/scsi/lpfc/lpfc_attr.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index e1a30a1..936ecaf 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -2890,12 +2890,12 @@ LPFC_ATTR_RW(poll_tmo, 10, 1, 255,
 /*
 # lpfc_use_msi: Use MSI (Message Signaled Interrupts) in systems that
 #		support this feature
-#       0  = MSI disabled (default)
+#       0  = MSI disabled
 #       1  = MSI enabled
-#       2  = MSI-X enabled
+#       2  = MSI-X enabled (default)
 # Value range is [0,2]. Default value is 0.
 */
-LPFC_ATTR_R(use_msi, 0, 0, 2, "Use Message Signaled Interrupts (1) or "
+LPFC_ATTR_R(use_msi, 2, 0, 2, "Use Message Signaled Interrupts (1) or "
 	    "MSI-X (2), if possible");
 
 /*

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support
  2010-01-17 19:19   ` George Kadianakis
@ 2010-01-18 14:48     ` Rolf Eike Beer
  2010-01-18 18:06       ` George Kadianakis
  0 siblings, 1 reply; 8+ messages in thread
From: Rolf Eike Beer @ 2010-01-18 14:48 UTC (permalink / raw)
  To: George Kadianakis; +Cc: James Bottomley, linux-scsi, james.smart

[-- Attachment #1: Type: Text/Plain, Size: 1634 bytes --]

George Kadianakis wrote:
> From: George Kadianakis <desnacked {bomb} gmail {point} com>
> 
> A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx
> interrupts. This patch restores lpfc's ability to support MSI-X/MSI
> interrupts that the "Addition of SLI4 Interface - Base Support" patch [2]
> broke.
> It reestablishes MSI-X as the default interrupt method and in case MSI-X is
> not supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.
> 
> [1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
> [2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d
> 
> Signed-off-by:  George Kadianakis <desnacked@gmail.com>
> ---
>  drivers/scsi/lpfc/lpfc_attr.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
> index e1a30a1..936ecaf 100644
> --- a/drivers/scsi/lpfc/lpfc_attr.c
> +++ b/drivers/scsi/lpfc/lpfc_attr.c
> @@ -2890,12 +2890,12 @@ LPFC_ATTR_RW(poll_tmo, 10, 1, 255,
>  /*
>  # lpfc_use_msi: Use MSI (Message Signaled Interrupts) in systems that
>  #		support this feature
> -#       0  = MSI disabled (default)
> +#       0  = MSI disabled
>  #       1  = MSI enabled
> -#       2  = MSI-X enabled
> +#       2  = MSI-X enabled (default)
>  # Value range is [0,2]. Default value is 0.
                                            ^

This is still wrong.

>  */
> -LPFC_ATTR_R(use_msi, 0, 0, 2, "Use Message Signaled Interrupts (1) or "
> +LPFC_ATTR_R(use_msi, 2, 0, 2, "Use Message Signaled Interrupts (1) or "
>  	    "MSI-X (2), if possible");
> 
>  /*

Eike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support
  2010-01-18 14:48     ` Rolf Eike Beer
@ 2010-01-18 18:06       ` George Kadianakis
  0 siblings, 0 replies; 8+ messages in thread
From: George Kadianakis @ 2010-01-18 18:06 UTC (permalink / raw)
  To: Rolf Eike Beer; +Cc: James Bottomley, linux-scsi, james.smart

From: George Kadianakis <desnacked {bomb} gmail {point} com>

A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
This patch restores lpfc's ability to support MSI-X/MSI interrupts that the 
"Addition of SLI4 Interface - Base Support" patch [2] broke.
It reestablishes MSI-X as the default interrupt method and in case MSI-X is not 
supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.

[1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
[2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d

Signed-off-by:  George Kadianakis <desnacked@gmail.com>
---
 drivers/scsi/lpfc/lpfc_attr.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index e1a30a1..61c7f4b 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -2890,12 +2890,12 @@ LPFC_ATTR_RW(poll_tmo, 10, 1, 255,
 /*
 # lpfc_use_msi: Use MSI (Message Signaled Interrupts) in systems that
 #		support this feature
-#       0  = MSI disabled (default)
+#       0  = MSI disabled
 #       1  = MSI enabled
-#       2  = MSI-X enabled
-# Value range is [0,2]. Default value is 0.
+#       2  = MSI-X enabled (default)
+# Value range is [0,2]. Default value is 2.
 */
-LPFC_ATTR_R(use_msi, 0, 0, 2, "Use Message Signaled Interrupts (1) or "
+LPFC_ATTR_R(use_msi, 2, 0, 2, "Use Message Signaled Interrupts (1) or "
 	    "MSI-X (2), if possible");
 
 /*

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-01-18 18:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-14  0:20 [PATCH 1/1] SCSI: lpfc, restore MSI-X/MSI support George Kadianakis
2010-01-14 17:03 ` James Smart
2010-01-14 17:26   ` George Kadianakis
2010-01-14 22:02 ` Yinghai Lu
2010-01-17 18:47 ` James Bottomley
2010-01-17 19:19   ` George Kadianakis
2010-01-18 14:48     ` Rolf Eike Beer
2010-01-18 18:06       ` George Kadianakis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).