Eric Dumazet
1abe267f17
net: add sk_wake_async_rcu() helper
...
While looking at UDP receive performance, I saw sk_wake_async()
was no longer inlined.
This matters at least on AMD Zen1-4 platforms (see SRSO)
This might be because rcu_read_lock() and rcu_read_unlock()
are no longer nops in recent kernels ?
Add sk_wake_async_rcu() variant, which must be called from
contexts already holding rcu lock.
As SOCK_FASYNC is deprecated in modern days, use unlikely()
to give a hint to the compiler.
sk_wake_async_rcu() is properly inlined from
__udp_enqueue_schedule_skb() and sock_def_readable().
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20240328144032.1864988-5-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-03-29 15:03:11 -07:00
..
2024-03-22 19:42:20 +08:00
2023-03-24 18:22:28 +08:00
2024-03-13 09:49:37 +08:00
2023-11-01 12:58:42 +08:00
2024-03-13 09:49:37 +08:00
2023-05-24 18:12:33 +08:00
2023-05-24 18:12:33 +08:00
2023-05-24 18:12:33 +08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2024-03-29 15:03:11 -07:00
2024-03-13 09:49:37 +08:00
2024-03-13 09:49:37 +08:00
2023-12-15 17:52:53 +08:00
2022-11-25 17:39:18 +08:00
2023-06-24 15:50:13 -07:00
2024-02-02 18:08:12 +08:00
2023-06-24 15:50:13 -07:00
2023-12-08 11:59:46 +08:00
2022-12-02 18:12:40 +08:00
2023-09-20 13:15:29 +08:00
2023-12-08 11:59:46 +08:00
2023-01-06 17:15:47 +08:00
2023-10-27 18:04:29 +08:00
2023-10-27 18:04:29 +08:00
2024-02-22 15:38:51 -08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2024-02-02 18:08:12 +08:00
2023-10-27 18:04:29 +08:00
2023-10-27 18:04:29 +08:00
2023-06-23 16:15:36 +08:00
2023-10-27 18:04:24 +08:00
2024-03-13 09:49:37 +08:00
2023-10-13 18:27:26 +08:00
2023-10-01 16:28:15 +08:00
2024-03-13 09:49:37 +08:00
2024-03-13 09:49:37 +08:00
2023-10-13 18:27:27 +08:00
2023-10-13 18:27:27 +08:00
2022-09-24 16:14:43 +08:00
2023-10-12 21:59:32 +08:00
2022-12-02 18:12:40 +08:00
2024-03-01 18:35:40 +08:00
2023-11-17 19:16:29 +08:00
2023-12-08 11:59:46 +08:00
2023-02-14 13:39:33 +08:00
2022-09-24 16:14:43 +08:00
2022-09-24 16:14:43 +08:00
2022-04-29 13:44:58 +08:00
2023-10-13 18:27:26 +08:00
2022-12-02 18:12:40 +08:00
2023-03-17 11:16:44 +08:00
2023-10-27 18:04:29 +08:00
2023-10-27 18:04:30 +08:00
2024-03-13 09:49:37 +08:00
2023-10-27 18:04:25 +08:00
2023-10-27 18:04:24 +08:00
2023-06-27 15:40:24 +08:00
2023-10-13 18:31:07 +08:00
2023-05-12 18:48:01 +08:00
2023-10-27 18:04:25 +08:00
2023-10-13 18:31:07 +08:00
2024-03-22 10:41:13 -07:00
2022-11-25 17:39:18 +08:00
2022-12-02 18:12:40 +08:00
2024-03-13 09:49:37 +08:00
2023-10-13 18:27:27 +08:00
2024-03-13 09:49:37 +08:00
2024-03-13 09:49:37 +08:00
2024-01-26 16:39:32 +08:00
2023-09-15 18:29:45 +08:00
2022-06-10 16:40:17 +08:00
2023-02-14 13:39:33 +08:00
2024-03-13 09:49:37 +08:00
2023-10-27 18:04:30 +08:00
2024-02-09 12:57:18 +08:00
2023-10-27 18:04:28 +08:00
2023-10-27 18:04:28 +08:00
2024-03-13 09:49:37 +08:00
2022-12-02 18:12:40 +08:00
2023-02-13 18:35:14 +08:00
2022-12-02 18:12:40 +08:00
2024-03-13 09:49:37 +08:00
2024-03-13 09:49:37 +08:00
2024-03-13 09:49:37 +08:00
2024-03-13 09:49:37 +08:00
2023-09-20 13:10:10 +08:00
2022-04-08 16:11:48 +08:00
2022-12-02 18:12:40 +08:00
2022-04-08 16:12:46 +08:00
2024-03-08 19:23:25 +08:00
2023-01-20 18:29:31 +08:00
2022-12-02 18:12:40 +08:00
2024-01-26 16:39:33 +08:00
2024-03-22 19:42:20 +08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2023-10-27 18:04:24 +08:00
2022-12-30 22:56:27 +08:00
2023-10-27 18:04:25 +08:00
2022-06-10 16:40:16 +08:00
2023-10-20 13:39:25 +08:00