[Intel-wired-lan] [PATCH net] ixgbe: check return value of napi_complete_done()

Eric Dumazet eric.dumazet at gmail.com
Thu Sep 20 20:35:00 UTC 2018



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 at vger.kernel.org # 4.10+
> Cc: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
> Suggested-by: Eric Dumazet <edumazet at google.com>
> Signed-off-by: Song Liu <songliubraving at fb.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.




More information about the Intel-wired-lan mailing list