* David Miller <davem@xxxxxxxxxxxxx> wrote:
From: Ingo Molnar <mingo@xxxxxxx>
Date: Mon, 15 Oct 2007 13:24:30 +0200
got this warning with Linus' latest -git tree:This is a driver bug, the work "budget" passed into a driver's ->poll() handler should never be exceeded. That's what this warning assertion is checking.
WARNING: at net/core/dev.c:2161 net_rx_action()
[<80564db4>] net_rx_action+0xce/0x186
[<8011ba98>] __do_softirq+0x6c/0xcf
[<8011bb2d>] do_softirq+0x32/0x36
[<8011bcae>] irq_exit+0x35/0x40
[<80104fdb>] do_IRQ+0x5c/0x71
[<801048cd>] do_nmi+0x8f/0x238
[<801033a3>] common_interrupt+0x23/0x30
=======================
What ethernet card is in your system and what driver is being used to drive it?
it's forcedeth.
i've checked nv_napi_poll(), and i dont see how it could return larger than 'limit' number of packets.
it could return packets == limit though:
pkts = nv_rx_process_optimized(dev, budget);
...
if (pkts < budget) {
/* re-enable receive interrupts */
spin_lock_irqsave(&np->lock, flags);
__netif_rx_complete(dev, napi);
...
return pkts;