From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752282AbdAYN5W (ORCPT ); Wed, 25 Jan 2017 08:57:22 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:35952 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752260AbdAYN5T (ORCPT ); Wed, 25 Jan 2017 08:57:19 -0500 Message-ID: <1485352637.5145.4.camel@edumazet-glaptop3.roam.corp.google.com> Subject: Re: [PATCH net v2 3/4] r8152: re-schedule napi for tx From: Eric Dumazet To: Hayes Wang Cc: netdev@vger.kernel.org, nic_swsd@realtek.com, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Date: Wed, 25 Jan 2017 05:57:17 -0800 In-Reply-To: <1394712342-15778-245-Taiwan-albertk@realtek.com> References: <1394712342-15778-236-Taiwan-albertk@realtek.com> <1394712342-15778-242-Taiwan-albertk@realtek.com> <1394712342-15778-245-Taiwan-albertk@realtek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2017-01-25 at 16:13 +0800, Hayes Wang wrote: > Re-schedule napi after napi_complete() for tx, if it is necessay. > > In r8152_poll(), if the tx is completed after tx_bottom() and before > napi_complete(), the scheduling of napi would be lost. Then, no > one handles the next tx until the next napi_schedule() is called. > > Signed-off-by: Hayes Wang > --- > drivers/net/usb/r8152.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c > index ec882be..45d168e 100644 > --- a/drivers/net/usb/r8152.c > +++ b/drivers/net/usb/r8152.c > @@ -1936,6 +1936,9 @@ static int r8152_poll(struct napi_struct *napi, int budget) > napi_complete(napi); > if (!list_empty(&tp->rx_done)) > napi_schedule(napi); > + else if (!skb_queue_empty(&tp->tx_queue) && > + !list_empty(&tp->tx_free)) > + napi_schedule(&tp->napi); Why using &tp->napi instead of napi here, as done 3 lines above ?