From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH net] ixgbe: check return value of napi_complete_done() Date: Thu, 20 Sep 2018 13:35:00 -0700 Message-ID: References: <20180920190113.490005-1-songliubraving@fb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: intel-wired-lan@lists.osuosl.org, kernel-team@fb.com, stable@vger.kernel.org, Jeff Kirsher To: Song Liu , netdev@vger.kernel.org Return-path: In-Reply-To: <20180920190113.490005-1-songliubraving@fb.com> Content-Language: en-US Sender: stable-owner@vger.kernel.org List-Id: netdev.vger.kernel.org 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@vger.kernel.org # 4.10+ > Cc: Jeff Kirsher > Suggested-by: Eric Dumazet > Signed-off-by: Song Liu > --- 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.