* [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).