[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <C6C872D4-ABC4-4740-918D-ADD09442B330@fb.com>
Date: Tue, 18 Sep 2018 21:36:37 +0000
From: Song Liu <songliubraving@...com>
To: Eric Dumazet <edumazet@...gle.com>
CC: Florian Fainelli <f.fainelli@...il.com>,
Alexei Starovoitov <ast@...com>,
netdev <netdev@...r.kernel.org>,
Jeff Kirsher <jeffrey.t.kirsher@...el.com>,
Alexander Duyck <alexander.h.duyck@...el.com>,
"michael.chan@...adcom.com" <michael.chan@...adcom.com>,
Kernel Team <Kernel-team@...com>
Subject: Re: pegged softirq and NAPI race (?)
> On Sep 18, 2018, at 2:28 PM, Eric Dumazet <edumazet@...gle.com> wrote:
>
> On Tue, Sep 18, 2018 at 2:25 PM Florian Fainelli <f.fainelli@...il.com> wrote:
>>
>>
>> This would not be the only driver doing this unfortunately... should we
>> add a __must_check annotation to help catch those (mis)uses? Though that
>> could cause false positives for drivers using NAPI to clean their TX ring.
>>
>
> Well, before adding __must_check we would need to cook a (big) patch
> series to change all occurrences.
>
>
> Not clear why netpoll is the trigger ?
>From my observation, the trigger path is:
netpoll_poll_dev() => ndo_poll_controller() => napi_schedule_prep().
I guess it is a race between IRQ/netpoll=>napi_schedule_prep() and
not handled napi_complete_done(). netpoll just makes it triggers more
often?
Unfortunately for me, bnxt already checked napi_complete_done(), so
there should be another bug with bnxt (at least with our 4.11 based
kernel).
Song
Powered by blists - more mailing lists