* [PATCH 0/3] myri10ge updates for 2.6.22
@ 2007-05-30 19:12 Brice Goglin
2007-05-30 19:13 ` [PATCH 1/3] myri10ge: report link up/down in standard ethtool way Brice Goglin
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Brice Goglin @ 2007-05-30 19:12 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
Hi Jeff,
Here's a small patchset for myri10ge in 2.6.22:
1) report link up/down in standard ethtool way
2) limit the number of recoveries
3) update driver version
Please apply.
Thanks!
Brice
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] myri10ge: report link up/down in standard ethtool way
2007-05-30 19:12 [PATCH 0/3] myri10ge updates for 2.6.22 Brice Goglin
@ 2007-05-30 19:13 ` Brice Goglin
2007-06-03 15:48 ` Jeff Garzik
2007-05-30 19:14 ` [PATCH 2/3] myri10ge: limit the number of recoveries Brice Goglin
2007-05-30 19:15 ` [PATCH 3/3] myri10ge: update driver version Brice Goglin
2 siblings, 1 reply; 8+ messages in thread
From: Brice Goglin @ 2007-05-30 19:13 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
Report link up/down in standard ethtool way
Signed-off-by: Brice Goglin <brice@myri.com>
---
drivers/net/myri10ge/myri10ge.c | 1 +
1 file changed, 1 insertion(+)
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
--- linux-rc.orig/drivers/net/myri10ge/myri10ge.c 2007-05-26 11:18:09.000000000 +0200
+++ linux-rc/drivers/net/myri10ge/myri10ge.c 2007-05-30 20:58:22.000000000 +0200
@@ -1472,6 +1472,7 @@
.set_sg = ethtool_op_set_sg,
.get_tso = ethtool_op_get_tso,
.set_tso = ethtool_op_set_tso,
+ .get_link = ethtool_op_get_link,
.get_strings = myri10ge_get_strings,
.get_stats_count = myri10ge_get_stats_count,
.get_ethtool_stats = myri10ge_get_ethtool_stats,
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] myri10ge: limit the number of recoveries
2007-05-30 19:12 [PATCH 0/3] myri10ge updates for 2.6.22 Brice Goglin
2007-05-30 19:13 ` [PATCH 1/3] myri10ge: report link up/down in standard ethtool way Brice Goglin
@ 2007-05-30 19:14 ` Brice Goglin
2007-06-03 15:55 ` Jeff Garzik
2007-05-30 19:15 ` [PATCH 3/3] myri10ge: update driver version Brice Goglin
2 siblings, 1 reply; 8+ messages in thread
From: Brice Goglin @ 2007-05-30 19:14 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
Limit the number of recoveries from a NIC hw watchdog reset to 1 by default.
It enables detection of defective NICs immediately since these memory parity
errors are expected to happen very rarely (less than once per century*NIC).
However, a defective NIC (very rare, fortunately) can see such an error
quite often, ie. every few minutes under high load.
Make the limit tunable to allow people with mission critical installations
to crank up the tunable and recover an INTMAX number of times while waiting
for a downtime window to replace the NIC. The performance won't be optimal,
but at least, it will still work.
Signed-off-by: Brice Goglin <brice@myri.com>
---
drivers/net/myri10ge/myri10ge.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
--- linux-rc.orig/drivers/net/myri10ge/myri10ge.c 2007-05-30 20:58:22.000000000 +0200
+++ linux-rc/drivers/net/myri10ge/myri10ge.c 2007-05-30 20:58:34.000000000 +0200
@@ -279,6 +279,11 @@
module_param(myri10ge_fill_thresh, int, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(myri10ge_fill_thresh, "Number of empty rx slots allowed\n");
+static int myri10ge_reset_recover = 1;
+module_param(myri10ge_reset_recover, int, S_IRUGO | S_IWUSR);
+MODULE_PARM_DESC(myri10ge_reset_recover,
+ "Number of recoveries allowed from NIC hw reset\n");
+
static int myri10ge_wcfifo = 0;
module_param(myri10ge_wcfifo, int, S_IRUGO);
MODULE_PARM_DESC(myri10ge_wcfifo, "Enable WC Fifo when WC is enabled\n");
@@ -2730,8 +2735,14 @@
* For now, just report it */
reboot = myri10ge_read_reboot(mgp);
printk(KERN_ERR
- "myri10ge: %s: NIC rebooted (0x%x), resetting\n",
- mgp->dev->name, reboot);
+ "myri10ge: %s: NIC rebooted (0x%x),%s resetting\n",
+ mgp->dev->name, reboot,
+ myri10ge_reset_recover ? " " : " not");
+ if (myri10ge_reset_recover == 0)
+ return;
+
+ myri10ge_reset_recover--;
+
/*
* A rebooted nic will come back with config space as
* it was after power was applied to PCIe bus.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] myri10ge: update driver version
2007-05-30 19:12 [PATCH 0/3] myri10ge updates for 2.6.22 Brice Goglin
2007-05-30 19:13 ` [PATCH 1/3] myri10ge: report link up/down in standard ethtool way Brice Goglin
2007-05-30 19:14 ` [PATCH 2/3] myri10ge: limit the number of recoveries Brice Goglin
@ 2007-05-30 19:15 ` Brice Goglin
2 siblings, 0 replies; 8+ messages in thread
From: Brice Goglin @ 2007-05-30 19:15 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
Update driver version to 1.3.1-1.245.
Signed-off-by: Brice Goglin <brice@myri.com>
---
drivers/net/myri10ge/myri10ge.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
--- linux-rc.orig/drivers/net/myri10ge/myri10ge.c 2007-05-30 20:58:34.000000000 +0200
+++ linux-rc/drivers/net/myri10ge/myri10ge.c 2007-05-30 20:58:41.000000000 +0200
@@ -71,7 +71,7 @@
#include "myri10ge_mcp.h"
#include "myri10ge_mcp_gen_header.h"
-#define MYRI10GE_VERSION_STR "1.3.0-1.233"
+#define MYRI10GE_VERSION_STR "1.3.1-1.245"
MODULE_DESCRIPTION("Myricom 10G driver (10GbE)");
MODULE_AUTHOR("Maintainer: help@myri.com");
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] myri10ge: report link up/down in standard ethtool way
2007-05-30 19:13 ` [PATCH 1/3] myri10ge: report link up/down in standard ethtool way Brice Goglin
@ 2007-06-03 15:48 ` Jeff Garzik
0 siblings, 0 replies; 8+ messages in thread
From: Jeff Garzik @ 2007-06-03 15:48 UTC (permalink / raw)
To: Brice Goglin; +Cc: netdev
Brice Goglin wrote:
> Report link up/down in standard ethtool way
>
> Signed-off-by: Brice Goglin <brice@myri.com>
> ---
> drivers/net/myri10ge/myri10ge.c | 1 +
> 1 file changed, 1 insertion(+)
applied to #upstream-fixes
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] myri10ge: limit the number of recoveries
2007-05-30 19:14 ` [PATCH 2/3] myri10ge: limit the number of recoveries Brice Goglin
@ 2007-06-03 15:55 ` Jeff Garzik
2007-06-04 17:07 ` [PATCH 0/1] " Brice Goglin
0 siblings, 1 reply; 8+ messages in thread
From: Jeff Garzik @ 2007-06-03 15:55 UTC (permalink / raw)
To: Brice Goglin; +Cc: netdev
Brice Goglin wrote:
> Limit the number of recoveries from a NIC hw watchdog reset to 1 by default.
> It enables detection of defective NICs immediately since these memory parity
> errors are expected to happen very rarely (less than once per century*NIC).
> However, a defective NIC (very rare, fortunately) can see such an error
> quite often, ie. every few minutes under high load.
>
> Make the limit tunable to allow people with mission critical installations
> to crank up the tunable and recover an INTMAX number of times while waiting
> for a downtime window to replace the NIC. The performance won't be optimal,
> but at least, it will still work.
>
> Signed-off-by: Brice Goglin <brice@myri.com>
> ---
> drivers/net/myri10ge/myri10ge.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
NAK. Random broken (unrelated to silicon errata) can happen in any
field installation, and manifest itself in any number of ways.
If defective NICs are truly rare, it does not sound worth adding this
workaround to the driver.
If I had to guess, this is a meaningless gesture (from a technical
standpoint) for a Big Customer(tm) who is currently throwing a
temper-tantrum... :)
By definition if you can give them a patch, and they can wait for the
driver patch going upstream, then it is not a "mission critical"
situation, otherwise they would already have the patch direct from you.
Also, "mission critical" tends to imply that you cannot remove the
driver from operation either, which is counter to the logic of patching
a driver for the problem.
Jeff
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 0/1] myri10ge: limit the number of recoveries
2007-06-03 15:55 ` Jeff Garzik
@ 2007-06-04 17:07 ` Brice Goglin
2007-06-04 17:08 ` [PATCH 1/1] " Brice Goglin
0 siblings, 1 reply; 8+ messages in thread
From: Brice Goglin @ 2007-06-04 17:07 UTC (permalink / raw)
To: Jeff Garzik
Jeff Garzik wrote:
> Brice Goglin wrote:
>> Limit the number of recoveries from a NIC hw watchdog reset to 1 by
>> default.
>> It enables detection of defective NICs immediately since these memory
>> parity
>> errors are expected to happen very rarely (less than once per
>> century*NIC).
>> However, a defective NIC (very rare, fortunately) can see such an error
>> quite often, ie. every few minutes under high load.
>>
>> Make the limit tunable to allow people with mission critical
>> installations
>> to crank up the tunable and recover an INTMAX number of times while
>> waiting
>> for a downtime window to replace the NIC. The performance won't be
>> optimal,
>> but at least, it will still work.
>>
>> Signed-off-by: Brice Goglin <brice@myri.com>
>> ---
>> drivers/net/myri10ge/myri10ge.c | 15 +++++++++++++--
>> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> NAK.
Ok...
Then please apply the following patch which limits the number of
recovery to 1 without making it tunable. It will at least enable
detection of bad NICs.
Brice
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/1] myri10ge: limit the number of recoveries
2007-06-04 17:07 ` [PATCH 0/1] " Brice Goglin
@ 2007-06-04 17:08 ` Brice Goglin
0 siblings, 0 replies; 8+ messages in thread
From: Brice Goglin @ 2007-06-04 17:08 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
Limit the number of recoveries from a NIC hw watchdog reset to 1 by default.
It enables detection of defective NICs immediately since these memory parity
errors are expected to happen very rarely (less than once per century*NIC).
Signed-off-by: Brice Goglin <brice@myri.com>
---
drivers/net/myri10ge/myri10ge.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
--- linux-rc.orig/drivers/net/myri10ge/myri10ge.c 2007-05-30 20:58:22.000000000 +0200
+++ linux-rc/drivers/net/myri10ge/myri10ge.c 2007-06-04 19:01:54.000000000 +0200
@@ -279,6 +279,8 @@
module_param(myri10ge_fill_thresh, int, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(myri10ge_fill_thresh, "Number of empty rx slots allowed\n");
+static int myri10ge_reset_recover = 1;
+
static int myri10ge_wcfifo = 0;
module_param(myri10ge_wcfifo, int, S_IRUGO);
MODULE_PARM_DESC(myri10ge_wcfifo, "Enable WC Fifo when WC is enabled\n");
@@ -2730,8 +2732,14 @@
* For now, just report it */
reboot = myri10ge_read_reboot(mgp);
printk(KERN_ERR
- "myri10ge: %s: NIC rebooted (0x%x), resetting\n",
- mgp->dev->name, reboot);
+ "myri10ge: %s: NIC rebooted (0x%x),%s resetting\n",
+ mgp->dev->name, reboot,
+ myri10ge_reset_recover ? " " : " not");
+ if (myri10ge_reset_recover == 0)
+ return;
+
+ myri10ge_reset_recover--;
+
/*
* A rebooted nic will come back with config space as
* it was after power was applied to PCIe bus.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-06-04 17:08 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-30 19:12 [PATCH 0/3] myri10ge updates for 2.6.22 Brice Goglin
2007-05-30 19:13 ` [PATCH 1/3] myri10ge: report link up/down in standard ethtool way Brice Goglin
2007-06-03 15:48 ` Jeff Garzik
2007-05-30 19:14 ` [PATCH 2/3] myri10ge: limit the number of recoveries Brice Goglin
2007-06-03 15:55 ` Jeff Garzik
2007-06-04 17:07 ` [PATCH 0/1] " Brice Goglin
2007-06-04 17:08 ` [PATCH 1/1] " Brice Goglin
2007-05-30 19:15 ` [PATCH 3/3] myri10ge: update driver version Brice Goglin
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).