From mboxrd@z Thu Jan 1 00:00:00 1970 From: Song Liu Subject: Re: pegged softirq and NAPI race (?) Date: Tue, 18 Sep 2018 21:36:37 +0000 Message-ID: References: <0FD562CC-CDE9-43C8-9623-B42AC7A208C8@fb.com> <09e7e3f8-dee8-71ea-7e57-4d0c92dcf13b@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: Florian Fainelli , Alexei Starovoitov , netdev , Jeff Kirsher , Alexander Duyck , "michael.chan@broadcom.com" , Kernel Team To: Eric Dumazet Return-path: Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:35720 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730225AbeISDL0 (ORCPT ); Tue, 18 Sep 2018 23:11:26 -0400 In-Reply-To: Content-Language: en-US Content-ID: <9404B9A58BE7504C86F016BF4DDA0417@namprd15.prod.outlook.com> Sender: netdev-owner@vger.kernel.org List-ID: > On Sep 18, 2018, at 2:28 PM, Eric Dumazet wrote: >=20 > On Tue, Sep 18, 2018 at 2:25 PM Florian Fainelli w= rote: >>=20 >>=20 >> 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 rin= g. >>=20 >=20 > Well, before adding __must_check we would need to cook a (big) patch > series to change all occurrences. >=20 >=20 > Not clear why netpoll is the trigger ? >>From my observation, the trigger path is: netpoll_poll_dev() =3D> ndo_poll_controller() =3D> napi_schedule_prep().=20 I guess it is a race between IRQ/netpoll=3D>napi_schedule_prep() and=20 not handled napi_complete_done(). netpoll just makes it triggers more often?=20 Unfortunately for me, bnxt already checked napi_complete_done(), so=20 there should be another bug with bnxt (at least with our 4.11 based kernel).=20 Song=