[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iKpZ79f7nP5HtBfmN_m_KyO0MZ5m2Z53RNtQ5Q=e3WC4w@mail.gmail.com>
Date: Wed, 8 May 2024 16:32:36 +0200
From: Eric Dumazet <edumazet@...gle.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, pabeni@...hat.com,
Erhard Furtner <erhard_f@...lbox.org>, robh@...nel.org, elder@...nel.org, wei.fang@....com,
bhupesh.sharma@...aro.org, benh@...nel.crashing.org
Subject: Re: [PATCH net] eth: sungem: remove .ndo_poll_controller to avoid deadlocks
On Wed, May 8, 2024 at 3:45 PM Jakub Kicinski <kuba@...nel.org> wrote:
>
> Erhard reports netpoll warnings from sungem:
>
> netpoll_send_skb_on_dev(): eth0 enabled interrupts in poll (gem_start_xmit+0x0/0x398)
> WARNING: CPU: 1 PID: 1 at net/core/netpoll.c:370 netpoll_send_skb+0x1fc/0x20c
>
> gem_poll_controller() disables interrupts, which may sleep.
> We can't sleep in netpoll, it has interrupts disabled completely.
> Strangely, gem_poll_controller() doesn't even poll the completions,
> and instead acts as if an interrupt has fired so it just schedules
> NAPI and exits. None of this has been necessary for years, since
> netpoll invokes NAPI directly.
>
> Fixes: fe09bb619096 ("sungem: Spring cleaning and GRO support")
> Reported-and-tested-by: Erhard Furtner <erhard_f@...lbox.org>
> Link: https://lore.kernel.org/all/20240428125306.2c3080ef@legion
> Signed-off-by: Jakub Kicinski <kuba@...nel.org>
Reviewed-by: Eric Dumazet <edumazet@...gle.com>
Powered by blists - more mailing lists