|
|
Subscribe / Log in / New account

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




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds