Patchwork [5/7] forcdeth: increase max_interrupt_work

login
register
mail settings
Submitter Andrew Morton
Date Oct. 29, 2008, 9:22 p.m.
Message ID <200810292122.m9TLMGAI020173@imap1.linux-foundation.org>
Download mbox | patch
Permalink /patch/6313/
State Accepted
Delegated to: Jeff Garzik
Headers show

Comments

Andrew Morton - Oct. 29, 2008, 9:22 p.m.
From: Joe Korty <joe.korty@ccur.com>

This eliminates the following often-generated warning from my 64 bit
Opteron SMP test stand:

	eth0: too many iterations (6) in nv_nic_irq

According to the web, the problem is that the forcedeth driver has a
too-low value for max_interrupt_work.  Grepping the kernel I see that
forcedeth has the second lowest value of all ethernet drivers (ie, 6). 
Most are in the 20-40 range.  So this patch increases this a bit, from 6
to 15 (at 15 forcedeth becomes the driver with third-lowest
max_interrupt_work value).

My test stand, which used to print out the above warnings repetitively
whenever it was under heavy net load, no longer does so.

Signed-off-by: Joe Korty <joe.korty@ccur.com>
Cc: Ayaz Abdulla <aabdulla@nvidia.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/net/forcedeth.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Jeff Garzik - Nov. 2, 2008, 1:30 p.m.
akpm@linux-foundation.org wrote:
> From: Joe Korty <joe.korty@ccur.com>
> 
> This eliminates the following often-generated warning from my 64 bit
> Opteron SMP test stand:
> 
> 	eth0: too many iterations (6) in nv_nic_irq
> 
> According to the web, the problem is that the forcedeth driver has a
> too-low value for max_interrupt_work.  Grepping the kernel I see that
> forcedeth has the second lowest value of all ethernet drivers (ie, 6). 
> Most are in the 20-40 range.  So this patch increases this a bit, from 6
> to 15 (at 15 forcedeth becomes the driver with third-lowest
> max_interrupt_work value).
> 
> My test stand, which used to print out the above warnings repetitively
> whenever it was under heavy net load, no longer does so.
> 
> Signed-off-by: Joe Korty <joe.korty@ccur.com>
> Cc: Ayaz Abdulla <aabdulla@nvidia.com>
> Cc: Jeff Garzik <jeff@garzik.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
> 
>  drivers/net/forcedeth.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

applied


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff -puN drivers/net/forcedeth.c~forcdeth-increase-max_interrupt_work drivers/net/forcedeth.c
--- a/drivers/net/forcedeth.c~forcdeth-increase-max_interrupt_work
+++ a/drivers/net/forcedeth.c
@@ -818,7 +818,7 @@  struct fe_priv {
  * Maximum number of loops until we assume that a bit in the irq mask
  * is stuck. Overridable with module param.
  */
-static int max_interrupt_work = 5;
+static int max_interrupt_work = 15;
 
 /*
  * Optimization can be either throuput mode or cpu mode