diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2025-08-29 19:29:26 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-08-29 19:29:27 -0700 |
| commit | e71aa5a955a7059a705972e9bcdb074b6fd14696 (patch) | |
| tree | 61e4192b22fe88910082096dcf0e76e3d84e19d3 /include | |
| parent | 34c21e91192aa1ff66f9d6cef8132717840d04e6 (diff) | |
| parent | 95fa78830e5b2eb2041174c7f9549c746e003dd6 (diff) | |
Merge branch 'inet_diag-make-dumps-faster-with-simple-filters'
Eric Dumazet says:
====================
inet_diag: make dumps faster with simple filters
inet_diag_bc_sk() pulls five cache lines per socket,
while most filters only need the two first ones.
We can change it to only pull needed cache lines,
to make things like "ss -temoi src :21456" much faster.
First patches (1-3) are annotating data-races as a first step.
====================
Link: https://patch.msgid.link/20250828102738.2065992-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/inet_diag.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/inet_diag.h b/include/linux/inet_diag.h index 30bf8f7ea62b..704fd415c2b4 100644 --- a/include/linux/inet_diag.h +++ b/include/linux/inet_diag.h @@ -38,6 +38,11 @@ struct inet_diag_dump_data { #define inet_diag_nla_bpf_stgs req_nlas[INET_DIAG_REQ_SK_BPF_STORAGES] struct bpf_sk_storage_diag *bpf_stg_diag; + bool mark_needed; /* INET_DIAG_BC_MARK_COND present. */ +#ifdef CONFIG_SOCK_CGROUP_DATA + bool cgroup_needed; /* INET_DIAG_BC_CGROUP_COND present. */ +#endif + bool userlocks_needed; /* INET_DIAG_BC_AUTO present. */ }; struct inet_connection_sock; @@ -46,7 +51,7 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk, const struct inet_diag_req_v2 *req, u16 nlmsg_flags, bool net_admin); -int inet_diag_bc_sk(const struct nlattr *_bc, struct sock *sk); +int inet_diag_bc_sk(const struct inet_diag_dump_data *cb_data, struct sock *sk); void inet_diag_msg_common_fill(struct inet_diag_msg *r, struct sock *sk); |
