* David Miller <[email protected]> wrote:
> From: Ingo Molnar <[email protected]>
> Date: Mon, 15 Oct 2007 13:24:30 +0200
>
> > got this warning with Linus' latest -git tree:
> >
> > 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
> > =======================
>
> 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.
>
> 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;
shouldnt that be "pkts <= budget"? But even that shouldnt cause a larger
than limit return. Weird.
there are two networking cards in the system, the other one is a:
eth1: RealTek RTL8139 at 0xf080e000, 00:c0:df:03:68:5d, IRQ 11
eth1: Identified 8139 chip type 'RTL-8139B'
but this one should be inactive (not plugged into the network). Should i
try to get a debug print out of the actual 'weight' and 'work' integers,
and of the n->poll function address?
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]