Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp923251pxu; Fri, 23 Oct 2020 17:31:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2zsczkR8mb6Tiasgz+BR3zeauDBChMB44sH5EOmwCk83Spv7JvkT+4SjAsCqo04LBAtEY X-Received: by 2002:a17:906:33c7:: with SMTP id w7mr4323994eja.398.1603499480839; Fri, 23 Oct 2020 17:31:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603499480; cv=none; d=google.com; s=arc-20160816; b=JLToQGkTVZ9TtyVPgG3Hg7qeThC+qcjSNWA0lUftmOJijYg1/Xk5OQXrDiiJH6t+nI RiDul2AMJx8KR38eWkQUgvADgTplwSUdQ7DFSb/wvNTIvFStoyL9esnNvRMf+C9tkfFn jiPo3B84P4NtvuuxGUn9F4JMyESSDH6uEMfnPKsws4XjH7BXX0Kln533DT6eBGRZv3cd fx6G4ef8ZkVIwGZPcem96gWT78/0pbi2vXarmhLeSnh6xYSPGbhsXTD4g7jZO18EGaKO 6Vy7jUzfnM1XvLilwlX36XM4DrM4lJ1m5effbOwvNGaqyeP1q1Rd2aBjX7NJchjbAP4q 5UOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=pcirzaQ3WERzdJc02PEq9a/vLGT8Sv7JyX7QsParKpU=; b=olGwxt7tYSHTpd5kQFWxju0zxkJH8COIJV1Phb3fn2Vo54lbGPrPgzp8ETWJUGKtdU 6KjHYA7HyeRsjdkZdUJR4+uSCIlaLkqlQL2W5NdgMDADMwacquWUjnOiP0vNd8ATu+Qk KgT+j6mGolDykl2kTGXxC/ed5GCs81hU6wBxhykfeXCCdQtPAaf80V0dNAARjLSgAddx bZRuIdiWAWyVHmQuDgmzm6aH/O92/0NLBOvSpJVHimOwkYA+0sc9mGC6tNlKjgpnFVaS r+zu8nyVDRgiqlhsmmT4tVQKvhpVpWhkzKJg6p0rGWqMpI4Ce/+HfEr9KWS8S/ZRKX+v /kWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EYsxIIr2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r20si1946075ejb.578.2020.10.23.17.30.59; Fri, 23 Oct 2020 17:31:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EYsxIIr2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755468AbgJWU5M (ORCPT + 99 others); Fri, 23 Oct 2020 16:57:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:58980 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755398AbgJWU5M (ORCPT ); Fri, 23 Oct 2020 16:57:12 -0400 Received: from kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net (unknown [163.114.132.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id DB8F520936; Fri, 23 Oct 2020 20:57:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603486631; bh=thTY5zzsx7x7mMLiptzquDZ6NGow+NNFqLQSrgL6Qhg=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=EYsxIIr2Lc8Ke+p7KXQJoR9s3TpIKPDEeXpMZk3IgazHq+cA4qO0S3X39ecdto3nr ZE7XfaDDJS0UC8XJYfVX/Ke0dYAwKRILtt0gzdP4PbzRUetJ/Z7+VyXFnicpuAsbek uXCacsSCDVzuOlgYPB65xext8Wy0XIGcSadEZ/hw= Date: Fri, 23 Oct 2020 13:57:09 -0700 From: Jakub Kicinski To: Yi Li Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net Subject: Re: [PATCH] net treewide: Use skb_is_gso Message-ID: <20201023135709.0f89fd59@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net> In-Reply-To: <20201021103030.3432231-1-yili@winhong.com> References: <20201021103030.3432231-1-yili@winhong.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 21 Oct 2020 18:30:30 +0800 Yi Li wrote: > This patch introduces the use of the inline func skb_is_gso in place of > tests for skb_shinfo(skb)->gso_size. > > - if (skb_shinfo(skb)->gso_size) > + if (skb_is_gso(skb)) > > - if (unlikely(skb_shinfo(skb)->gso_size)) > + if (unlikely(skb_is_gso(skb))) > > - if (!skb_shinfo(skb)->gso_size) > + if (!skb_is_gso(skb)) > > Signed-off-by: Yi Li The places where gso_size is used on the Rx path may be driver specific, so I'd rather you left those out. At a quick look - the following ifs ones are on the Rx path: > diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c > index 1a6ec1a12d53..af20884cd772 100644 > --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c > +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c > @@ -732,7 +732,7 @@ static void bnx2x_gro_receive(struct bnx2x *bp, struct bnx2x_fastpath *fp, > struct sk_buff *skb) > { > #ifdef CONFIG_INET > - if (skb_shinfo(skb)->gso_size) { > + if (skb_is_gso(skb)) { > switch (be16_to_cpu(skb->protocol)) { > case ETH_P_IP: > bnx2x_gro_csum(bp, skb, bnx2x_gro_ip_csum); > diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c > index a362516a3185..e694c99ee540 100644 > --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c > +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c > @@ -2990,7 +2990,7 @@ static int hns3_set_gro_and_checksum(struct hns3_enet_ring *ring, > HNS3_RXD_GRO_SIZE_M, > HNS3_RXD_GRO_SIZE_S); > /* if there is no HW GRO, do not set gro params */ > - if (!skb_shinfo(skb)->gso_size) { > + if (!skb_is_gso(skb)) { > hns3_rx_checksum(ring, skb, l234info, bd_base_info, ol_info); > return 0; > } > diff --git a/drivers/net/ethernet/ibm/ibmveth.c b/drivers/net/ethernet/ibm/ibmveth.c > index 7ef3369953b6..9c264768f166 100644 > --- a/drivers/net/ethernet/ibm/ibmveth.c > +++ b/drivers/net/ethernet/ibm/ibmveth.c > @@ -1251,7 +1251,7 @@ static void ibmveth_rx_mss_helper(struct sk_buff *skb, u16 mss, int lrg_pkt) > tcph->check = 0; > } > > - if (skb_shinfo(skb)->gso_size) { > + if (skb_is_gso(skb)) { > hdr_len = offset + tcph->doff * 4; > skb_shinfo(skb)->gso_segs = > DIV_ROUND_UP(skb->len - hdr_len, > diff --git a/drivers/net/ethernet/qlogic/qede/qede_fp.c b/drivers/net/ethernet/qlogic/qede/qede_fp.c > index a2494bf85007..092e24893cb9 100644 > --- a/drivers/net/ethernet/qlogic/qede/qede_fp.c > +++ b/drivers/net/ethernet/qlogic/qede/qede_fp.c > @@ -934,7 +934,7 @@ static void qede_gro_receive(struct qede_dev *edev, > } > > #ifdef CONFIG_INET > - if (skb_shinfo(skb)->gso_size) { > + if (skb_is_gso(skb)) { > skb_reset_network_header(skb); > > switch (skb->protocol) {