[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c3ad4e7-8a5b-4e31-9c1e-f9256c5abd5b@intel.com>
Date: Thu, 15 Feb 2024 14:28:07 +0100
From: Alexander Lobakin <aleksander.lobakin@...el.com>
To: "Tantilov, Emil S" <emil.s.tantilov@...el.com>
CC: Alan Brady <alan.brady@...el.com>, Jesse Brandeburg
<jesse.brandeburg@...el.com>, Przemek Kitszel <przemyslaw.kitszel@...el.com>,
<intel-wired-lan@...ts.osuosl.org>, <netdev@...r.kernel.org>
Subject: Re: [Intel-wired-lan] [PATCH 1/1 iwl-net] idpf: disable local BH when
scheduling napi for marker packets
From: Tantilov, Emil S <emil.s.tantilov@...el.com>
Date: Wed, 14 Feb 2024 07:39:53 -0800
>
>
> On 2/14/2024 6:54 AM, Alexander Lobakin wrote:
>> From: Alexander Lobakin <aleksander.lobakin@...el.com>
>> Date: Tue, 13 Feb 2024 14:16:47 +0100
>>
>>> From: Alan Brady <alan.brady@...el.com>
>>> Date: Wed, 7 Feb 2024 16:42:43 -0800
>>>
>>>> From: Emil Tantilov <emil.s.tantilov@...el.com>
>>>>
>>>> Fix softirq's not being handled during napi_schedule() call when
>>>> receiving marker packets for queue disable by disabling local bottom
>>>> half.
>>>
>>> BTW, how exactly does this help?
>>>
>>> __napi_schedule() already disables interrupts (local_irq_save()).
>>> napi_schedule_prep() only has READ_ONCE() and other atomic read/write
>>> helpers.
>>>
>>> It's always been safe to call napi_schedule() with enabled BH, so I
>>> don't really understand how this works.
>
> It's been a while since I debugged this, I'll have to take a look again,
> but its not so much about being safe as it is about making sure the
> marker packets are received in those cases - like ifdown in the trace.
>
>> This also needs to be dropped from the fixes queue until investigated.
>> For now, it looks like a cheap hack (without the explanation how exactly
>> it does help), not a proper fix.
>
> It does fix the issue at hand. Looking at the kernel code I see multiple
Sometimes adding debug prints fixes bugs, fixing something doesn't mean
it's the correct way.
> examples of napi_schedule() being wrapped with local_bh_disable/enable,
"Everybody do that" doesn't prove anything until explained how exactly
this helps.
> so this appears to be a common (not uncommon?) technique.
>
> Thanks,
> Emil
>
>>
>> Thanks,
>> Olek
Thanks,
Olek
Powered by blists - more mailing lists