[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c1251d5d-4b18-a1de-acd2-6de829b7c7ac@gmail.com>
Date: Thu, 20 Sep 2018 13:35:00 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Song Liu <songliubraving@...com>, netdev@...r.kernel.org
Cc: intel-wired-lan@...ts.osuosl.org, kernel-team@...com,
stable@...r.kernel.org, Jeff Kirsher <jeffrey.t.kirsher@...el.com>
Subject: Re: [PATCH net] ixgbe: check return value of napi_complete_done()
On 09/20/2018 12:01 PM, Song Liu wrote:
> The NIC driver should only enable interrupts when napi_complete_done()
> returns true. This patch adds the check for ixgbe.
>
> Cc: stable@...r.kernel.org # 4.10+
> Cc: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
> Suggested-by: Eric Dumazet <edumazet@...gle.com>
> Signed-off-by: Song Liu <songliubraving@...com>
> ---
Well, unfortunately we do not know why this is needed,
this is why I have not yet sent this patch formally.
netpoll has correct synchronization :
poll_napi() places into napi->poll_owner current cpu number before calling poll_one_napi()
netpoll_poll_lock() does also use napi->poll_owner
When netpoll calls ixgbe poll() method, it passed a budget of 0,
meaning napi_complete_done() is not called.
As long as we can not explain the problem properly in the changelog,
we should investigate, otherwise we will probably see coming dozens of patches
trying to fix a 'potential hazard'.
Thanks.
Powered by blists - more mailing lists