Skip to contentSkip to conversation

myri10ge updates for 2.6.22

PATCH Applied Brice Goglin 2 participants 8 messages May 30, 2007 – Jun 4, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover myri10ge updates for 2.6.22

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

#1 lore raw

PATCH 1/3 myri10ge: report link up/down in standard ethtool way

Report link up/down in standard ethtool way

---
 drivers/net/myri10ge/myri10ge.c |    1 +
 1 file changed, 1 insertion(+)
drivers/net/myri10ge/myri10ge.c +1 -0
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -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,
Applied
#2 lore raw

Re: [PATCH 1/3] myri10ge: report link up/down in standard ethtool way

Quoted 6 lines · Brice Goglin

Report link up/down in standard ethtool way

---
 drivers/net/myri10ge/myri10ge.c |    1 +
 1 file changed, 1 insertion(+)

applied to #upstream-fixes

#3 lore raw

PATCH 2/3 myri10ge: limit the number of recoveries

In reply to Brice Goglin

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.

---
 drivers/net/myri10ge/myri10ge.c |   15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
drivers/net/myri10ge/myri10ge.c +13 -2
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -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.
#4 lore raw

Re: [PATCH 2/3] myri10ge: limit the number of recoveries

Quoted 11 lines · Brice Goglin

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.

Quoted 4 lines
---
 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

#5 lore raw

cover myri10ge: limit the number of recoveries

Quoted 18 lines · Jeff Garzik
Quoted 17 lines · Brice Goglin

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.

Quoted 6 lines
Quoted 4 lines
---
 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

#6 lore raw

PATCH 1/1 myri10ge: limit the number of recoveries

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

---
 drivers/net/myri10ge/myri10ge.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
drivers/net/myri10ge/myri10ge.c +10 -2
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -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.
#7 lore raw

PATCH 3/3 myri10ge: update driver version

In reply to Brice Goglin

Update driver version to 1.3.1-1.245.

---
 drivers/net/myri10ge/myri10ge.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/myri10ge/myri10ge.c +1 -1
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -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: [email protected]");