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
..
2022-10-04 19:18:08 +02:00
2022-10-16 11:08:19 -07:00
2021-11-26 16:48:59 +01:00
2022-08-23 13:14:02 +02:00
2022-10-14 08:22:28 +01:00
2022-09-16 06:38:50 -07:00
2022-08-04 10:28:48 -04:00
2022-10-03 11:08:33 +01:00
2022-09-28 16:09:49 +01:00
2022-10-07 12:05:29 -07:00
2022-10-06 13:31:13 +02:00
2022-10-08 08:56:37 -07:00
2022-10-10 09:27:46 -07:00
2022-10-07 16:48:26 -07:00
2022-10-11 10:53:25 -07:00
2022-10-03 21:52:33 -07:00
2022-09-29 15:20:14 +01:00
2022-10-12 11:00:22 -07:00
2022-10-08 10:06:48 -07:00
2022-10-07 16:13:55 -07:00
2022-10-04 19:36:53 -07:00
2022-10-13 09:58:42 -07:00
2022-01-20 08:52:53 +02:00
2022-10-07 16:48:26 -07:00
2022-10-10 13:28:06 -07:00
2022-10-05 11:05:17 -06:00
2019-05-24 17:27:11 +02:00
2022-09-29 16:38:05 -07:00
2022-10-12 11:00:22 -07:00
2022-10-07 09:19:14 -07:00
2022-10-10 11:26:40 -06:00
2022-09-29 09:25:47 -07:00
2022-10-10 17:53:04 -07:00
2021-04-15 17:04:24 +01:00
2022-09-26 19:46:29 -07:00
2022-03-23 10:11:03 -07:00
2021-01-24 14:27:17 +01:00
2022-10-14 13:03:00 -07:00
2022-10-17 18:52:43 -07:00
2022-10-14 13:44:44 -07:00
2022-09-30 14:50:11 -07:00
2022-10-10 10:21:22 -07:00
2022-10-10 17:53:04 -07:00
2022-10-10 17:53:04 -07:00
2022-10-03 14:03:19 -07:00
2022-06-27 14:17:12 +02:00
2022-06-10 13:37:02 +02:00
2022-09-30 14:32:35 +02:00
2022-06-27 10:33:59 +02:00
2022-10-16 10:45:17 -07:00
2022-10-12 18:51:49 -07:00
2022-10-10 19:45:17 -07:00
2021-07-08 11:48:20 -07:00
2022-09-07 17:04:49 +02:00
2022-10-11 18:51:11 -07:00
2017-11-02 11:10:55 +01:00
2018-01-01 12:40:27 -07:00
2022-08-29 12:57:38 +01:00
2022-09-29 04:40:15 +09:00
2022-10-04 13:31:45 -07:00
2022-10-06 05:57:36 -07:00
2022-10-10 17:53:04 -07:00
2022-10-10 19:45:17 -07:00
2022-10-03 20:33:41 -07:00
2022-10-03 14:03:30 -07:00
2022-10-03 14:03:20 -07:00
2022-02-23 10:58:28 +01:00
2021-08-10 17:57:23 +02:00
2022-09-28 16:17:40 +01:00
2022-10-03 14:02:45 -07:00
2022-10-12 11:16:58 -07:00
2022-07-22 16:06:03 -05:00
2022-10-12 11:00:22 -07:00
2022-02-28 23:26:27 -08:00
2021-11-09 10:02:49 -08:00
2022-10-03 14:03:21 -07:00
2022-10-12 16:30:56 -06:00
2022-10-04 08:13:20 -06:00
2022-10-10 13:28:06 -07:00
2022-10-03 14:21:44 -07:00
2022-09-28 14:21:53 +01:00
2022-10-03 14:21:43 -07:00
2022-10-03 14:02:59 -07:00
2017-11-02 11:10:55 +01:00
2022-06-16 19:58:21 -07:00
2022-04-27 10:57:33 -07:00
2022-10-03 14:03:33 -07:00
2022-10-03 14:03:19 -07:00
2022-10-03 14:03:21 -07:00
2022-10-03 14:03:25 -07:00
2021-03-08 11:43:35 +01:00
2022-10-03 14:02:43 -07:00
2022-10-07 10:48:49 -07:00
2022-05-24 08:46:37 +02:00
2022-10-06 17:31:02 -07:00
2022-10-03 17:51:52 -07:00
2022-08-02 23:56:25 -04:00
2022-10-04 12:06:58 -06:00
2022-10-10 17:53:04 -07:00
2022-10-03 14:03:29 -07:00
2022-10-12 18:51:49 -07:00
2022-10-12 18:51:49 -07:00
2022-10-03 14:03:35 -07:00
2022-10-03 14:03:19 -07:00
2022-10-03 14:03:28 -07:00
2022-09-19 14:35:08 +02:00
2022-10-10 17:53:04 -07:00
2022-09-26 10:13:13 -07:00
2020-12-22 12:55:08 -08:00
2021-08-16 14:42:22 +02:00
2018-03-24 11:25:35 -05:00
2022-10-24 10:52:50 +01:00
2022-10-15 11:17:12 +01:00
2022-10-19 13:00:04 -07:00
2022-10-03 14:03:15 -07:00
2022-10-11 17:42:55 -06:00
2022-08-02 19:24:24 -07:00
2022-09-28 14:11:28 +01:00
2022-09-30 16:23:48 -05:00
2022-10-03 17:34:32 -07:00
2022-10-03 14:03:04 -07:00
2022-10-10 17:53:04 -07:00
2021-02-03 19:05:50 +01:00
2022-10-04 09:46:22 -07:00
2022-10-11 11:08:18 -07:00
2022-10-03 14:21:43 -07:00
2022-10-04 13:32:08 +02:00
2022-10-03 17:33:57 -07:00
2022-10-20 17:49:10 -07:00
2022-10-04 20:52:38 +02:00
2022-10-04 20:52:38 +02:00
2019-05-24 17:36:45 +02:00
2022-10-11 17:42:58 -06:00
2022-10-04 15:55:55 +02:00
2022-10-11 17:42:58 -06:00
2020-10-13 18:38:28 -07:00
2022-10-18 10:27:02 -07:00
2022-10-04 15:59:36 +02:00
2022-09-28 10:46:21 -06:00
2021-06-09 13:37:16 +02:00
2022-09-28 20:27:43 -04:00
2022-10-10 17:53:04 -07:00
2019-09-16 11:43:38 -05:00
2022-10-14 12:28:43 -07:00
2022-10-09 14:05:15 -07:00
2021-03-18 12:58:27 -04:00
2022-02-23 10:58:28 +01:00
2022-10-03 11:08:32 +01:00
2022-10-03 14:03:33 -07:00
2019-05-30 11:26:32 -07:00
2022-10-12 16:30:34 -06:00
2022-10-15 21:42:05 +02:00
2022-10-10 17:53:04 -07:00
2022-08-03 16:29:08 -07:00
2022-10-03 14:03:18 -07:00
2020-03-18 09:50:20 +00:00
2021-12-10 14:06:03 +00:00
2018-10-09 11:20:55 +02:00
2021-08-19 09:02:55 +09:00
2022-10-08 08:56:37 -07:00
2022-09-07 16:37:26 -07:00
2009-04-10 15:48:52 +02:00
2022-10-10 09:10:28 -07:00
2022-10-03 14:03:36 -07:00
2022-10-03 14:03:36 -07:00
2018-02-05 21:34:50 +01:00
2022-09-29 15:20:29 +02:00
2022-04-30 08:39:32 -06:00
2022-10-03 17:44:18 -07:00
2022-10-04 11:21:06 +02:00
2022-04-10 12:38:45 +02:00
2019-08-28 11:50:43 +02:00
2022-09-28 20:28:13 -04:00
2022-10-03 14:03:18 -07:00
2022-10-24 10:52:50 +01:00
2022-09-29 10:17:37 -04:00
2022-10-07 09:32:40 -04:00
2022-10-07 08:10:52 -06:00
2022-10-07 09:32:40 -04:00
2022-09-28 10:00:16 +02:00
2022-07-07 13:09:59 -06:00
2022-10-07 15:00:25 +02:00
2022-02-23 10:58:28 +01:00
2022-07-12 11:07:32 +10:00
2022-10-03 14:03:08 -07:00
2022-07-10 21:17:30 -04:00