[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4713E799.1070002@pobox.com>
Date: Mon, 15 Oct 2007 18:20:09 -0400
From: Jeff Garzik <jgarzik@...ox.com>
To: Ingo Molnar <mingo@...e.hu>
CC: David Miller <davem@...emloft.net>, linux-kernel@...r.kernel.org,
torvalds@...ux-foundation.org, shemminger@...ux-foundation.org
Subject: Re: WARNING: at net/core/dev.c:2161 net_rx_action()
Ingo Molnar wrote:
> * David Miller <davem@...emloft.net> wrote:
>
>> From: Ingo Molnar <mingo@...e.hu>
>> 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;
FWIW, forcedeth has this funky disable_irq()-based locking mechanism
that is currently the subject of some kernel.org bugzillas. I would
also check and make sure that isn't perturbing your results (even though
it seems unrelated, based on what I read here). That might include
disabling MSI if it's enabled, and/or turning on spinlock debugging.
Jeff
-
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