[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071015220720.GA16101@elte.hu>
Date: Tue, 16 Oct 2007 00:07:20 +0200
From: Ingo Molnar <mingo@...e.hu>
To: David Miller <davem@...emloft.net>
Cc: linux-kernel@...r.kernel.org, torvalds@...ux-foundation.org,
shemminger@...ux-foundation.org, Jeff Garzik <jgarzik@...ox.com>
Subject: Re: WARNING: at net/core/dev.c:2161 net_rx_action()
* Ingo Molnar <mingo@...e.hu> wrote:
> > 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?
ok, i've added such a patch.
looking at the dev.c code - can napi_struct->weight be zero
legitimately? If yes then the 0 gets passed to the driver and the driver
would return 1 - violating the assertion.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists