Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1131691pxb; Wed, 10 Feb 2021 00:23:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJws1tyxZjTS3aDF2aUw+hQiAhLynF/P0ZVFIjEnotGnTxEKk2FnGE7Fw9KfGtPQFNjkXXrp X-Received: by 2002:a17:906:52c1:: with SMTP id w1mr1886290ejn.214.1612945387344; Wed, 10 Feb 2021 00:23:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612945387; cv=none; d=google.com; s=arc-20160816; b=kInqx2jyrLcogIxsPSE3cKp1xYM49gleE3hRlUzqWwC70i4QDbCbzV8uwd33cbPSVx hjlZJ6U323wLC0uYVjy79nqjsDbzeB7kEXk9BYqgYu/Px9o/CPJivB+N2Yu7n3uBPH7d /0dk77h6P7nNrpcPfTyUgwc3pK4rt17T0RQPsrcz6Ct4GyY7ksIxeh61dOBHeK57L7ab QMFtQkw8ERZpTp6hHRc94D4+sg/WVmgHloiymbpgUdDb/MilHwvguJRp5WCBfrA91Cn1 +rTmQ8icN5aPrJOZ6p0FwdLGO+7Ve1WpnivbEbQwOqPZtaJrG253GEbwnIiekv+tvm0w w3DQ== 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:reply-to:cc:from:to :dkim-signature:date; bh=ptg4dtlOixx4N/Ps+zPYWXSaL+5RU9Pp83Jx/VqNNi4=; b=nxCT/SDZFv0dgjIgsUxzJ6eIG59BlOaBvuaytAPU+nGUNSXVJ3QOuIIamBw4Rqmfjl fZ0+tizLMIlzto5rm/8YNgJT9ndnGCZYNtC7Rc0GiG5Pr+Wfl5MwGvWrApdLCjMmEIWw 2hx0Ng4ur+E9vb8ys16aRuv00cx+1ulhyIuDWNKdCeA7bAWFqvI2yy9QKV8Uv7A+h8/M ofUHRM6KZ8ajhpV+EtBrMoCTtIDDFgw9S/fYSCR+lFuoOJPFdKDHU/gaRB2Oc3eyQPur vWU73jUbKB83F4kHZ0hGsVBfO8nxDxDr12jZk6srrg7o1gnCWZxnGZr0KqPNMm8XyiRe 6v1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@pm.me header.s=protonmail header.b=OthOSBa4; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=pm.me Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c4si931808edr.553.2021.02.10.00.22.42; Wed, 10 Feb 2021 00:23:07 -0800 (PST) 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=@pm.me header.s=protonmail header.b=OthOSBa4; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=pm.me Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234122AbhBJAf3 (ORCPT + 99 others); Tue, 9 Feb 2021 19:35:29 -0500 Received: from mail-40131.protonmail.ch ([185.70.40.131]:52473 "EHLO mail-40131.protonmail.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234038AbhBIUtS (ORCPT ); Tue, 9 Feb 2021 15:49:18 -0500 Date: Tue, 09 Feb 2021 20:48:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail; t=1612903714; bh=ptg4dtlOixx4N/Ps+zPYWXSaL+5RU9Pp83Jx/VqNNi4=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=OthOSBa4ZrVmt9Pe6U5c7kIM32c/S/wz17TmX0NJafAk6xcJdpHkqzSbpNbtd2K8y mHH/fZD/2sx4wtjTL9Shycb3FMOB6oC+0sEuI8Ji1T4guq/t2X9LYileHj0bOVP2PQ qGSog8aAfij2n6xA5Y40BE7KGr4eMLRy6fXF0qyEPhdPpNviCtLtBAN0BqnmjTurui G16vUDZK8enN4jCa8Xop74SzsuPqBHw+OvAUjxITA/zHvQx4UouSM9LoWFibVdek4N DcYzaGG7UsRtUhYBFanGRfomZ3NmSyC9csMipA/XOX+VK6G5EfmXM2GXp8khjeRYF2 ZnFUxWNrK/CzA== To: "David S. Miller" , Jakub Kicinski From: Alexander Lobakin Cc: Jonathan Lemon , Eric Dumazet , Dmitry Vyukov , Willem de Bruijn , Alexander Lobakin , Randy Dunlap , Kevin Hao , Pablo Neira Ayuso , Jakub Sitnicki , Marco Elver , Dexuan Cui , Paolo Abeni , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Taehee Yoo , Cong Wang , =?utf-8?Q?Bj=C3=B6rn_T=C3=B6pel?= , Miaohe Lin , Guillaume Nault , Yonghong Song , zhudi , Michal Kubecek , Marcelo Ricardo Leitner , Dmitry Safonov <0x7f454c46@gmail.com>, Yang Yingliang , linux-kernel@vger.kernel.org, netdev@vger.kernel.org Reply-To: Alexander Lobakin Subject: [v3 net-next 06/10] skbuff: remove __kfree_skb_flush() Message-ID: <20210209204533.327360-7-alobakin@pm.me> In-Reply-To: <20210209204533.327360-1-alobakin@pm.me> References: <20210209204533.327360-1-alobakin@pm.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This function isn't much needed as NAPI skb queue gets bulk-freed anyway when there's no more room, and even may reduce the efficiency of bulk operations. It will be even less needed after reusing skb cache on allocation path, so remove it and this way lighten network softirqs a bit. Suggested-by: Eric Dumazet Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 1 - net/core/dev.c | 6 +----- net/core/skbuff.c | 12 ------------ 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 0a4e91a2f873..0e0707296098 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -2919,7 +2919,6 @@ static inline struct sk_buff *napi_alloc_skb(struct n= api_struct *napi, } void napi_consume_skb(struct sk_buff *skb, int budget); =20 -void __kfree_skb_flush(void); void __kfree_skb_defer(struct sk_buff *skb); =20 /** diff --git a/net/core/dev.c b/net/core/dev.c index 21d74d30f5d7..135d46c0c3c7 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4906,8 +4906,6 @@ static __latent_entropy void net_tx_action(struct sof= tirq_action *h) =09=09=09else =09=09=09=09__kfree_skb_defer(skb); =09=09} - -=09=09__kfree_skb_flush(); =09} =20 =09if (sd->output_queue) { @@ -6873,7 +6871,7 @@ static __latent_entropy void net_rx_action(struct sof= tirq_action *h) =20 =09=09if (list_empty(&list)) { =09=09=09if (!sd_has_rps_ipi_waiting(sd) && list_empty(&repoll)) -=09=09=09=09goto out; +=09=09=09=09return; =09=09=09break; =09=09} =20 @@ -6900,8 +6898,6 @@ static __latent_entropy void net_rx_action(struct sof= tirq_action *h) =09=09__raise_softirq_irqoff(NET_RX_SOFTIRQ); =20 =09net_rps_action_and_irq_enable(sd); -out: -=09__kfree_skb_flush(); } =20 struct netdev_adjacent { diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 1c6f6ef70339..4be2bb969535 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -838,18 +838,6 @@ void __consume_stateless_skb(struct sk_buff *skb) =09kfree_skbmem(skb); } =20 -void __kfree_skb_flush(void) -{ -=09struct napi_alloc_cache *nc =3D this_cpu_ptr(&napi_alloc_cache); - -=09/* flush skb_cache if containing objects */ -=09if (nc->skb_count) { -=09=09kmem_cache_free_bulk(skbuff_head_cache, nc->skb_count, -=09=09=09=09 nc->skb_cache); -=09=09nc->skb_count =3D 0; -=09} -} - static inline void _kfree_skb_defer(struct sk_buff *skb) { =09struct napi_alloc_cache *nc =3D this_cpu_ptr(&napi_alloc_cache); --=20 2.30.0