[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240328144032.1864988-1-edumazet@google.com>
Date: Thu, 28 Mar 2024 14:40:28 +0000
From: Eric Dumazet <edumazet@...gle.com>
To: "David S . Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: Willem de Bruijn <willemb@...gle.com>, netdev@...r.kernel.org, eric.dumazet@...il.com,
Eric Dumazet <edumazet@...gle.com>
Subject: [PATCH net-next 0/4] udp: small changes on receive path
This series is based on an observation I made in UDP receive path.
The sock_def_readable() costs are pretty high, especially when
epoll is used to generate EPOLLIN events.
First patch annotates races on sk->sk_rcvbuf reads.
Second patch replaces an atomic_add_return()
with a less expensive atomic_add()
Third patch avoids calling sock_def_readable() when possible.
Fourth patch adds sk_wake_async_rcu() to get better inlining
and code generation.
Eric Dumazet (4):
udp: annotate data-race in __udp_enqueue_schedule_skb()
udp: relax atomic operation on sk->sk_rmem_alloc
udp: avoid calling sock_def_readable() if possible
net: add sk_wake_async_rcu() helper
crypto/af_alg.c | 4 ++--
include/net/sock.h | 6 ++++++
net/atm/common.c | 2 +-
net/core/sock.c | 8 ++++----
net/dccp/output.c | 2 +-
net/ipv4/udp.c | 32 ++++++++++++++++++--------------
net/iucv/af_iucv.c | 2 +-
net/rxrpc/af_rxrpc.c | 2 +-
net/sctp/socket.c | 2 +-
net/smc/smc_rx.c | 4 ++--
net/unix/af_unix.c | 2 +-
11 files changed, 38 insertions(+), 28 deletions(-)
--
2.44.0.396.g6e790dbe36-goog
Powered by blists - more mailing lists