mbox series

[net-next,0/4] net: polish skb defer freeing

Message ID 20220516042456.3014395-1-eric.dumazet@gmail.com (mailing list archive)
Headers show
Series net: polish skb defer freeing | expand

Message

Eric Dumazet May 16, 2022, 4:24 a.m. UTC
From: Eric Dumazet <edumazet@google.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(-)

Comments

patchwork-bot+netdevbpf@kernel.org May 16, 2022, 10:40 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Sun, 15 May 2022 21:24:52 -0700 you wrote:
> From: Eric Dumazet <edumazet@google.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()
> 
> [...]

Here is the summary with links:
  - [net-next,1/4] net: fix possible race in skb_attempt_defer_free()
    https://git.kernel.org/netdev/net-next/c/97e719a82b43
  - [net-next,2/4] net: use napi_consume_skb() in skb_defer_free_flush()
    https://git.kernel.org/netdev/net-next/c/2db60eed1a95
  - [net-next,3/4] net: add skb_defer_max sysctl
    https://git.kernel.org/netdev/net-next/c/39564c3fdc66
  - [net-next,4/4] net: call skb_defer_free_flush() before each napi_poll()
    https://git.kernel.org/netdev/net-next/c/909876500251

You are awesome, thank you!