[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3400f2f60810290551y39c61e0aj90ca1222b339798c@mail.gmail.com>
Date: Wed, 29 Oct 2008 07:51:51 -0500
From: "J. K. Cliburn" <jcliburn@...il.com>
To: "Patrick McHardy" <kaber@...sh.net>
Cc: "Jarek Poplawski" <jarkao2@...il.com>, netdev@...r.kernel.org,
"Ramon Casellas" <ramon.casellas@...c.es>
Subject: Re: atl1 warn_on_slowpath help
[adding bug reporter to cc list]
On Wed, Oct 29, 2008 at 5:17 AM, Patrick McHardy <kaber@...sh.net> wrote:
> Patrick McHardy wrote:
>>
>> Jarek Poplawski wrote:
>>>
>>> On 29-10-2008 01:08, Jay Cliburn wrote:
>>>>
>>>> [ 27.779463] ------------[ cut here ]------------
>>>> [ 27.779509] WARNING: at kernel/softirq.c:136
>>>> local_bh_enable+0x37/0x81()
>>>
>>> ...
>>>>
>>>> [ 27.782520] [<c0264755>] netif_nit_deliver+0x5b/0x75
>>>> [ 27.782590] [<c02bba83>] __vlan_hwaccel_rx+0x79/0x162
>>>> [ 27.782664] [<f8851c1d>] atl1_intr+0x9a9/0xa7c [atl1]
>>>>>
>>>> warn_on_slowpath stuff well enough to know what to look for. Can someone
>>>> please take a quick look at drivers/net/atlx/atl1.c around line 2017
>>>> and see if there's an obvious error? I'd really appreciate it.
>>>
>>> It looks to me like vlan_hwaccel_rx() is to blame: I doubt we can do
>>> netif_nit_deliver() in hard irq context. (Patrick Cc-ed.)
>>
>> Crap, I didn't think of that, all drivers I tested with support
>> NAPI. I can't think of a clean way to fix it right now, but I'll
>> look into it.
>
> This is the best I could come up with, short of simply restoring
> the old behaviour for non-polling drivers.
>
> The __vlan_hwaccel_rx function only does the device lookup and
> stores it in the cb. The remaining processing is done in a new
> function that is invoked by netif_receive_skb(), in the proper
> context. Unfortunatly this needs vlan-specific handling in
> netif_receive_skb().
>
>
Thanks Jarek and Patrick.
Ramon,
Can you please try the attached patch from Patrick and see if it fixes
your kernel warning?
Thanks,
Jay
View attachment "01.diff" of type "text/x-patch" (3602 bytes)
Powered by blists - more mailing lists