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
2021-03-19 21:59:45 +11: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
2021-03-19 21:59:45 +11: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
2021-01-03 08:41:35 +11: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
2021-04-16 21:24:27 +10:00
2020-08-21 14:45:25 +10:00
2022-03-07 12:48:35 -07:00
2020-08-21 14:45:25 +10: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
2022-03-03 10:47:50 +12: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
2021-03-26 19:55:55 +11:00
2023-02-14 13:39:33 +08:00
2021-03-13 00:04:03 +11:00
2022-09-24 16:14:43 +08:00
2022-09-24 16:14:43 +08:00
2021-03-26 19:41:58 +11:00
2020-07-16 21:49:07 +10:00
2021-10-29 21:04:03 +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
2020-07-16 21:49:08 +10:00
2020-01-09 11:30:53 +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
2021-04-02 18:28:13 +11: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
2020-02-28 08:43:21 +08:00
2021-02-10 17:55:55 +11:00
2020-01-16 15:18:12 +08:00
2024-01-26 16:39:32 +08:00
2023-09-15 18:29:45 +08:00
2020-01-16 15:18:12 +08:00
2022-06-10 16:40:17 +08:00
2023-02-14 13:39:33 +08:00
2021-01-29 16:07:04 +11: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
2020-11-20 14:45:33 +11:00
2020-07-23 17:34:20 +10:00
2021-12-31 18:10:54 +11:00
2021-08-27 16:30:19 +08:00
2024-03-13 09:49:37 +08:00
2024-03-13 09:49:37 +08:00
2020-07-16 21:49:08 +10: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
2020-09-25 17:48:54 +10:00
2022-01-28 16:51:11 +11: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
2021-02-21 17:23:56 -08:00
2023-10-20 13:39:25 +08:00
2020-01-09 11:30:53 +08:00
2021-11-08 16:55:21 -08:00