tcp: move few fields for data locality
From: | Eric Dumazet <edumazet-AT-google.com> | |
To: | "David S . Miller" <davem-AT-davemloft.net>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com> | |
Subject: | [PATCH net-next 0/7] tcp: move few fields for data locality | |
Date: | Thu, 18 Sep 2025 15:55:25 +0000 | |
Message-ID: | <20250918155532.751173-1-edumazet@google.com> | |
Cc: | Simon Horman <horms-AT-kernel.org>, Neal Cardwell <ncardwell-AT-google.com>, Willem de Bruijn <willemb-AT-google.com>, Kuniyuki Iwashima <kuniyu-AT-google.com>, netdev-AT-vger.kernel.org, eric.dumazet-AT-gmail.com, Eric Dumazet <edumazet-AT-google.com> | |
Archive-link: | Article |
After recent additions (PSP and AccECN) I wanted to make another round on fields locations to increase data locality. This series manages to shrink TCP and TCPv6 objects by 128 bytes, but more importantly should reduce number of touched cache lines in TCP fast paths. There is more to come. Eric Dumazet (7): net: move sk_uid and sk_protocol to sock_read_tx net: move sk->sk_err_soft and sk->sk_sndbuf tcp: move tcp->rcv_tstamp to tcp_sock_write_txrx group tcp: move recvmsg_inq to tcp_sock_read_txrx tcp: move tcp_clean_acked to tcp_sock_read_tx group tcp: move mtu_info to remove two 32bit holes tcp: reclaim 8 bytes in struct request_sock_queue .../networking/net_cachelines/tcp_sock.rst | 6 +++--- include/linux/tcp.h | 20 +++++++++---------- include/net/request_sock.h | 2 +- include/net/sock.h | 10 +++++----- net/core/sock.c | 5 ++++- net/ipv4/tcp.c | 15 +++++++------- net/ipv4/tcp_input.c | 7 ++++--- 7 files changed, 34 insertions(+), 31 deletions(-) -- 2.51.0.384.g4c02a37b29-goog