Files
kernel_google_wahoo/include/linux
Eric Dumazet 7bbe720af7 udp: no longer use SLAB_DESTROY_BY_RCU
Tom Herbert would like not touching UDP socket refcnt for encapsulated
traffic. For this to happen, we need to use normal RCU rules, with a grace
period before freeing a socket. UDP sockets are not short lived in the
high usage case, so the added cost of call_rcu() should not be a concern.

This actually removes a lot of complexity in UDP stack.

Multicast receives no longer need to hold a bucket spinlock.

Note that ip early demux still needs to take a reference on the socket.

Same remark for functions used by xt_socket and xt_PROXY netfilter modules,
but this might be changed later.

Performance for a single UDP socket receiving flood traffic from
many RX queues/cpus.

Simple udp_rx using simple recvfrom() loop :
438 kpps instead of 374 kpps : 17 % increase of the peak rate.

v2: Addressed Willem de Bruijn feedback in multicast handling
 - keep early demux break in __udp4_lib_demux_lookup()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Tom Herbert <tom@herbertland.com>
Cc: Willem de Bruijn <willemb@google.com>
Tested-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: I4a8092b7f3adc34bf6f7303d5d23bb3a3fec7a7f
2022-11-15 21:35:32 +01:00
..
2017-05-22 23:19:33 -07:00
2017-07-15 11:57:44 +02:00
2018-04-12 09:58:05 -07:00
2021-02-03 23:16:16 +01:00
2021-12-14 10:35:51 +01:00
2017-01-23 11:03:24 +05:30
2022-03-04 20:16:57 +01:00
2017-05-04 16:43:06 +00:00
2021-11-26 11:58:33 +01:00
2020-08-26 07:32:20 -07:00
2022-03-04 20:16:44 +01:00
2022-11-15 21:35:29 +01:00
2019-04-03 10:24:12 +02:00
2019-01-11 07:53:18 +09:00
2020-04-02 19:02:39 +02:00
2016-09-30 10:18:37 +02:00
2016-11-08 10:23:45 -08:00
2022-11-15 21:35:29 +01:00
2021-03-07 11:37:45 +01:00
2018-11-21 09:27:36 +01:00
2019-12-21 11:36:50 +01:00
2020-12-14 00:49:15 -07:00
2022-11-15 21:35:32 +01:00
2020-09-23 21:48:05 -07:00
2020-04-02 19:02:39 +02:00
2021-12-14 10:03:49 +01:00
2018-08-23 12:00:19 -07:00
2018-08-23 12:00:19 -07:00