Files
linux/include/linux
Eric Dumazet 95fa78830e inet_diag: avoid cache line misses in inet_diag_bc_sk()
inet_diag_bc_sk() pulls five cache lines per socket,
while most filters only need the two first ones.

Add three booleans to struct inet_diag_dump_data,
that are selectively set if a filter needs specific socket fields.

- mark_needed       /* INET_DIAG_BC_MARK_COND present. */
- cgroup_needed     /* INET_DIAG_BC_CGROUP_COND present. */
- userlocks_needed  /* INET_DIAG_BC_AUTO present. */

This removes millions of cache lines misses per ss invocation
when simple filters are specified on busy servers.

offsetof(struct sock, sk_userlocks) = 0xf3
offsetof(struct sock, sk_mark) = 0x20c
offsetof(struct sock, sk_cgrp_data) = 0x298

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20250828102738.2065992-6-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-08-29 19:29:24 -07:00
..
2025-05-11 17:54:10 -07:00
2025-06-15 21:19:08 +05:30
2025-07-21 18:18:51 +01:00
2025-04-21 10:27:59 +02:00
2025-04-29 15:58:38 -04:00
2025-07-31 11:28:03 -04:00
2025-08-18 10:29:42 -07:00
2025-07-31 18:23:53 -07:00
2025-05-21 13:41:03 +02:00
2025-05-21 13:39:45 +02:00
2025-07-07 12:24:50 +02:00
2025-07-19 18:59:57 -07:00
2025-06-11 13:39:52 -04:00
2025-04-11 18:58:10 -07:00
2025-06-27 16:38:02 -07:00
2025-04-17 10:56:11 +02:00
2025-07-22 15:57:02 +00:00
2025-04-10 10:39:14 +01:00
2025-07-16 14:28:21 +02:00
2025-07-19 18:59:51 -07:00
2025-07-24 19:12:32 -07:00
2025-05-22 11:07:05 +02:00
2025-08-29 13:39:53 -07:00
2025-08-02 12:06:10 -07:00
2025-06-11 11:57:14 -07:00
2025-07-02 17:18:01 +01:00
2025-07-17 06:01:16 -06:00
2025-07-13 16:38:24 -07:00
2025-07-09 22:41:56 -07:00
2025-06-17 18:18:46 -07:00
2025-07-14 15:20:02 -07:00
2025-07-14 15:20:02 -07:00
2025-07-08 19:11:57 -04:00
2025-07-31 16:11:43 -05:00
2025-05-21 16:46:37 +02:00
2025-06-19 14:28:24 +02:00
2025-06-19 14:28:24 +02:00
2025-05-02 11:03:18 +05:30
2025-07-22 18:07:11 +02:00
2025-07-01 12:29:29 +02:00
2025-06-13 08:47:18 +02:00
2025-07-10 09:39:18 +02:00
2025-05-03 12:02:04 +02:00
2025-05-11 17:54:09 -07:00
2025-05-06 11:11:45 -06:00
2025-04-25 15:53:59 +02:00
2025-08-28 13:14:50 +02:00
2025-04-10 18:34:05 -07:00
2025-07-19 10:17:56 +05:30
2025-07-23 11:56:02 +02:00
2025-07-21 17:48:32 -07:00
2025-06-25 15:12:17 -07:00
2025-06-26 09:44:45 -07:00
2025-08-28 13:14:50 +02:00
2025-07-17 11:26:56 +02:00
2025-08-02 12:01:37 -07:00