[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220516042456.3014395-1-eric.dumazet@gmail.com>
Date: Sun, 15 May 2022 21:24:52 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: netdev <netdev@...r.kernel.org>,
Eric Dumazet <edumazet@...gle.com>,
Eric Dumazet <eric.dumazet@...il.com>
Subject: [PATCH net-next 0/4] net: polish skb defer freeing
From: Eric Dumazet <edumazet@...gle.com>
While testing this recently added feature on a variety
of platforms/configurations, I found the following issues:
1) A race leading to concurrent calls to smp_call_function_single_async()
2) Missed opportunity to use napi_consume_skb()
3) Need to limit the max length of the per-cpu lists.
4) Process the per-cpu list more frequently, for the
(unusual) case where net_rx_action() has mutiple
napi_poll() to process per round.
Eric Dumazet (4):
net: fix possible race in skb_attempt_defer_free()
net: use napi_consume_skb() in skb_defer_free_flush()
net: add skb_defer_max sysctl
net: call skb_defer_free_flush() before each napi_poll()
Documentation/admin-guide/sysctl/net.rst | 8 ++++++++
include/linux/netdevice.h | 1 +
net/core/dev.c | 15 ++++++++++-----
net/core/dev.h | 2 +-
net/core/skbuff.c | 18 ++++++++++--------
net/core/sysctl_net_core.c | 8 ++++++++
6 files changed, 38 insertions(+), 14 deletions(-)
--
2.36.0.550.gb090851708-goog
Powered by blists - more mailing lists