Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp906666lqp; Sun, 14 Apr 2024 05:22:13 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWpJRHpSiARhYIfIijz9CBi6yXiljugtVWBI37b8169sfJwPgHqTjT06TJwGXrTK9394X843aTCtEKnoJ1rgo/pJIgVXrEJM40BLUBJJw== X-Google-Smtp-Source: AGHT+IH0FVX70PVpOms37NkQLEhVC3jZ/HpNN6ktV0Iqh6GdZzC+2ka4PO4lPdhvalXBM0oK5pyo X-Received: by 2002:a05:6a00:2d22:b0:6ec:e733:c66f with SMTP id fa34-20020a056a002d2200b006ece733c66fmr8423854pfb.0.1713097333296; Sun, 14 Apr 2024 05:22:13 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713097333; cv=pass; d=google.com; s=arc-20160816; b=H+HnYDR16x6Oan//Zu+Y9w6XBg1jogCVOVX2U9v/mvbhv4H9qEdGoCKpP5V6AaiGae lqpJCINyYh6NErfG1VOumwy+baYtd5QVCPd5WV1F/WDNPdILQBacN6i7nmrRdeWTHUpw 0usNVVIaza11fpzjkXT27EgAPa5HUZCkU0WKMeJA9tETRaX3pUGXcb3G4PPaIFcgGfCo MNuHBUQ2wQ2V3fyBG6BpzCgQlfq/27Z8GkPpWRgQlOkqOTE9fe2FeRck04jWPHOR5qWB n38eYxAyw/62lHPGTfA59vOmrystQmkfvFbDAuYx5sg8j6gXvEl36jj9uWukWd05bP0d zhgg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:message-id:subject:cc:to:from:date:feedback-id :dkim-signature:dkim-signature; bh=iqTbHey5ppwfwHNXIVUS9WfeIhrEiC0Li38QsxFjfPI=; fh=To4s5VHLmIoAonz22S5GTEWTfV81G4PGGE3d09k0Cy4=; b=AYJjrDfewtPBxOBZacJxqzz+Ng9Cb0G6T2ZYvpg2o/c9x5nbMBtt8LKtbuYjlaYV8j 7aezLd/pnFem/Mo1kMHHh6SRpTqqYefRu37THGEyZV1roSCIvxazxCqhFK9eb4qx5xPV rrDNhQvD5Ck3f84w3NMUVu/RkhFA/RfbR8p4HOu6RwMPmhPg6xtevaw7cspuR+WzLIPw PirD7dI0u7OJaXbuBu8E8OnKT2XQ3IP4NKOxjYTQVP6nUiba8BC2GSxNY95htDcrnY8G Fhf+dJrdPypEKf63w1n9RloCxFDwV4ODBU2fGd3bj6A7EC8pXSF6Q8xPOuO5DsXWs7Id EhSw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ragnatech.se header.s=fm1 header.b="Fv6Nn/Ox"; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=FRk0Ueop; arc=pass (i=1 spf=pass spfdomain=ragnatech.se dkim=pass dkdomain=ragnatech.se dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=ragnatech.se); spf=pass (google.com: domain of linux-kernel+bounces-144136-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-144136-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ragnatech.se Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id l193-20020a6391ca000000b005dca7d41860si6241679pge.418.2024.04.14.05.22.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Apr 2024 05:22:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-144136-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@ragnatech.se header.s=fm1 header.b="Fv6Nn/Ox"; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=FRk0Ueop; arc=pass (i=1 spf=pass spfdomain=ragnatech.se dkim=pass dkdomain=ragnatech.se dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=ragnatech.se); spf=pass (google.com: domain of linux-kernel+bounces-144136-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-144136-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ragnatech.se Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id AA5AAB21539 for ; Sun, 14 Apr 2024 12:21:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1882C3EA76; Sun, 14 Apr 2024 12:21:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b="Fv6Nn/Ox"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="FRk0Ueop" Received: from wflow2-smtp.messagingengine.com (wflow2-smtp.messagingengine.com [64.147.123.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 387EC1E53F; Sun, 14 Apr 2024 12:21:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=64.147.123.137 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713097290; cv=none; b=QsW34TQWP7KQHedalrsY2mpLI0YSG3IjlNktS+j+PS9nFv7RReO0J0FNGNuEDz1sccnX+r5+hU1urRJlznE8pnV9pKwgZ676Wo5XoVpAsPtf5YRzpY5aNlFF2cmP8gzcHsB7QXtLrtFU5J8QsnlGJZHDAd7GwQEMOHfSximuhG8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713097290; c=relaxed/simple; bh=eiHSzsxeuqiDLvRiYUbJcrgheNfEAU8yTQK2+tcSELg=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=m4AwtVRwy6G6mEo65OY8fWKtDuT/JfbiLeXSanOoWd5WZyDBmImeoenseM3spfSVAd1joBW0IUogbyxLsCDaWS6QHAXVYq52Z+AbWJsizdhJ9jAcRWvaluKgVy8skFJJk2FAvA7eP0cCcrowDIRb35zQw0RTUAr/JkrsXOnXTzo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se; spf=pass smtp.mailfrom=ragnatech.se; dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b=Fv6Nn/Ox; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=FRk0Ueop; arc=none smtp.client-ip=64.147.123.137 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ragnatech.se Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailflow.west.internal (Postfix) with ESMTP id 4D3D42CC027A; Sun, 14 Apr 2024 08:21:26 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Sun, 14 Apr 2024 08:21:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1713097285; x=1713100885; bh=iqTbHey5ppwfwHNXIVUS9WfeIhrEiC0Li38QsxFjfPI=; b= Fv6Nn/OxprVLfCfgZzxQzBQ89Jk3xexHvPmmFGO7OuU4zoVN/e3v7RsPm1e/wzLY 5UrHWE3VwUEOP0BcZ68GSTqtNBBXY7IsdndJadq+cU4mwWCaTPKO9CKCoJM11jQ2 njCgH8kX/lXzAmTbnBXnHKxf8umS+HouFGDv54X03xME710TNe/sHSADBGTHIcDA R4LFJVprNMle8ZqJgmQdYCQkf/eIw/S1VXI9VFEcPplt/FOL+ZGr0HMM5e+CNrr4 SuAFe/ziJIrsbVhWrgBW1mEFINlXSaMP3GWmtPnpR3RkZnBuCV+GPMde/vwAUGNT iHb8dBGUtmBrwszl1W6bAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1713097285; x= 1713100885; bh=iqTbHey5ppwfwHNXIVUS9WfeIhrEiC0Li38QsxFjfPI=; b=F Rk0Ueopy2TlwSF3m3Ev78jdTEs7+009y4DQWBzWkvuvm637G3NX2VSQZGtx3SKca S6wI3Id5SiqNTVRLxLlzhR8N6YwfKcN2aUFncH5h34FRPrr8q24Ac6VhU5GumbLe Y3Itvsf5ElwGdU/jyfbZMpNxu5WL63pJKTAVIf1wpYgLleEvrItxhlLh6357sFCp aBTv4KwguH8oYmf+luc5lsPvGMpvB3Omed1aSnFTipe47ASpaL16x7YFPIA+O2np r5q1UUiZnDiybDpXJRoq0TPCEMoBVqZtDq82T1UF2cTi6M19KAyJpHvFOSbQA5NC KEicoPdB+AmsPxPF4yzUg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudeiledghedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkfhggtggugfgjsehtkeertddttdejnecuhfhrohhmpefpihhk lhgrshcuufpnuggvrhhluhhnugcuoehnihhklhgrshdrshhouggvrhhluhhnugdorhgvnh gvshgrshesrhgrghhnrghtvggthhdrshgvqeenucggtffrrghtthgvrhhnpeefhfellefh ffejgfefudfggeejlefhveehieekhfeulefgtdefueehffdtvdelieenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehnihhklhgrshdrshhouggv rhhluhhnugdorhgvnhgvshgrshesrhgrghhnrghtvggthhdrshgv X-ME-Proxy: Feedback-ID: i80c9496c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 14 Apr 2024 08:21:24 -0400 (EDT) Date: Sun, 14 Apr 2024 14:21:23 +0200 From: Niklas =?utf-8?Q?S=C3=B6derlund?= To: Paul Barker Cc: Sergey Shtylyov , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Claudiu Beznea , Biju Das , YueHaibing , netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [net PATCH v2 1/4] net: ravb: Count packets instead of descriptors in R-Car RX path Message-ID: <20240414122123.GC2860391@ragnatech.se> References: <20240412100024.2296-1-paul.barker.ct@bp.renesas.com> <20240412100024.2296-2-paul.barker.ct@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240412100024.2296-2-paul.barker.ct@bp.renesas.com> Hi Paul, Sorry I just posted my review comments on v1 of this series instead of v2. They where intended and are still valid for v2, sorry for the noise, let me know if you want me to repost them here. On 2024-04-12 11:00:21 +0100, Paul Barker wrote: > The units of "work done" in the RX path should be packets instead of > descriptors. > > Descriptors which are used by the hardware to record error conditions or > are empty in the case of a DMA mapping error should not count towards > our RX work budget. > > Fixes: c156633f1353 ("Renesas Ethernet AVB driver proper") > Signed-off-by: Paul Barker > Reviewed-by: Sergey Shtylyov > --- > drivers/net/ethernet/renesas/ravb_main.c | 20 ++++++++------------ > 1 file changed, 8 insertions(+), 12 deletions(-) > > diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c > index ba01c8cc3c90..70f2900648d4 100644 > --- a/drivers/net/ethernet/renesas/ravb_main.c > +++ b/drivers/net/ethernet/renesas/ravb_main.c > @@ -892,29 +892,25 @@ static bool ravb_rx_rcar(struct net_device *ndev, int *quota, int q) > struct ravb_private *priv = netdev_priv(ndev); > const struct ravb_hw_info *info = priv->info; > int entry = priv->cur_rx[q] % priv->num_rx_ring[q]; > - int boguscnt = (priv->dirty_rx[q] + priv->num_rx_ring[q]) - > - priv->cur_rx[q]; > struct net_device_stats *stats = &priv->stats[q]; > struct ravb_ex_rx_desc *desc; > struct sk_buff *skb; > dma_addr_t dma_addr; > struct timespec64 ts; > + int rx_packets = 0; > u8 desc_status; > u16 pkt_len; > int limit; > + int i; > > - boguscnt = min(boguscnt, *quota); > - limit = boguscnt; > + limit = priv->dirty_rx[q] + priv->num_rx_ring[q] - priv->cur_rx[q]; > desc = &priv->rx_ring[q].ex_desc[entry]; > - while (desc->die_dt != DT_FEMPTY) { > + for (i = 0; i < limit && rx_packets < *quota && desc->die_dt != DT_FEMPTY; i++) { > /* Descriptor type must be checked before all other reads */ > dma_rmb(); > desc_status = desc->msc; > pkt_len = le16_to_cpu(desc->ds_cc) & RX_DS; > > - if (--boguscnt < 0) > - break; > - > /* We use 0-byte descriptors to mark the DMA mapping errors */ > if (!pkt_len) > continue; > @@ -960,7 +956,7 @@ static bool ravb_rx_rcar(struct net_device *ndev, int *quota, int q) > if (ndev->features & NETIF_F_RXCSUM) > ravb_rx_csum(skb); > napi_gro_receive(&priv->napi[q], skb); > - stats->rx_packets++; > + rx_packets++; > stats->rx_bytes += pkt_len; > } > > @@ -995,9 +991,9 @@ static bool ravb_rx_rcar(struct net_device *ndev, int *quota, int q) > desc->die_dt = DT_FEMPTY; > } > > - *quota -= limit - (++boguscnt); > - > - return boguscnt <= 0; > + stats->rx_packets += rx_packets; > + *quota -= rx_packets; > + return *quota == 0; > } > > /* Packet receive function for Ethernet AVB */ > -- > 2.39.2 > -- Kind Regards, Niklas Söderlund