Files
linux/net/ipv4
Paolo Abeni 8a3854c7b8 udp: track the forward memory release threshold in an hot cacheline
When the receiver process and the BH runs on different cores,
udp_rmem_release() experience a cache miss while accessing sk_rcvbuf,
as the latter shares the same cacheline with sk_forward_alloc, written
by the BH.

With this patch, UDP tracks the rcvbuf value and its update via custom
SOL_SOCKET socket options, and copies the forward memory threshold value
used by udp_rmem_release() in a different cacheline, already accessed by
the above function and uncontended.

Since the UDP socket init operation grown a bit, factor out the common
code between v4 and v6 in a shared helper.

Overall the above give a 10% peek throughput increase under UDP flood.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-10-24 10:52:50 +01:00
..
2021-05-17 15:29:35 -07:00
2021-10-13 09:41:37 -07:00
2022-04-12 14:56:33 -07:00
2022-10-12 09:10:02 +01:00
2021-05-17 15:29:35 -07:00
2022-06-21 11:38:29 +02:00
2022-06-24 22:48:33 -07:00
2022-09-20 10:21:49 -07:00
2021-05-17 15:29:35 -07:00