Netdev List
 help / color / mirror / Atom feed
* [PATCH net-next 0/4] tcp: provide better locality for retransmit timer
@ 2025-11-24 17:50 Eric Dumazet
  2025-11-24 17:50 ` [PATCH net-next 1/4] tcp: rename icsk_timeout() to tcp_timeout_expires() Eric Dumazet
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Eric Dumazet @ 2025-11-24 17:50 UTC (permalink / raw)
  To: David S . Miller, Jakub Kicinski, Paolo Abeni
  Cc: Simon Horman, Neal Cardwell, Kuniyuki Iwashima, Matthieu Baerts,
	Mat Martineau, Geliang Tang, netdev, eric.dumazet, Eric Dumazet

TCP stack uses three timers per flow, currently spread this way:

- sk->sk_timer : keepalive timer
- icsk->icsk_retransmit_timer : retransmit timer
- icsk->icsk_delack_timer : delayed ack timer

This series moves the retransmit timer to sk->sk_timer location,
to increase data locality in TX paths.

keepalive timers are not often used, this change should be neutral for them.

After the series we have following fields:

- sk->tcp_retransmit_timer : retransmit timer, in sock_write_tx group
- icsk->icsk_delack_timer : delayed ack timer
- icsk->icsk_keepalive_timer : keepalive timer

Moving icsk_delack_timer in a beter location would also be welcomed.

Eric Dumazet (4):
  tcp: rename icsk_timeout() to tcp_timeout_expires()
  net: move sk_dst_pending_confirm and sk_pacing_status to sock_read_tx
    group
  tcp: introduce icsk->icsk_keepalive_timer
  tcp: remove icsk->icsk_retransmit_timer

 .../net_cachelines/inet_connection_sock.rst   |  2 +-
 include/net/inet_connection_sock.h            | 20 ++++++++------
 include/net/sock.h                            | 13 ++++++---
 net/core/sock.c                               |  4 +--
 net/ipv4/inet_connection_sock.c               | 12 ++++-----
 net/ipv4/inet_diag.c                          |  8 +++---
 net/ipv4/tcp_ipv4.c                           |  8 +++---
 net/ipv4/tcp_timer.c                          | 23 ++++++++--------
 net/ipv6/tcp_ipv6.c                           |  8 +++---
 net/mptcp/protocol.c                          | 27 +++++++++----------
 net/mptcp/protocol.h                          |  2 +-
 .../selftests/bpf/progs/bpf_iter_tcp4.c       |  8 +++---
 .../selftests/bpf/progs/bpf_iter_tcp6.c       |  8 +++---
 13 files changed, 74 insertions(+), 69 deletions(-)

-- 
2.52.0.460.gd25c4c69ec-goog


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-11-26 11:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-24 17:50 [PATCH net-next 0/4] tcp: provide better locality for retransmit timer Eric Dumazet
2025-11-24 17:50 ` [PATCH net-next 1/4] tcp: rename icsk_timeout() to tcp_timeout_expires() Eric Dumazet
2025-11-25 23:59   ` Kuniyuki Iwashima
2025-11-24 17:50 ` [PATCH net-next 2/4] net: move sk_dst_pending_confirm and sk_pacing_status to sock_read_tx group Eric Dumazet
2025-11-26  0:02   ` Kuniyuki Iwashima
2025-11-24 17:50 ` [PATCH net-next 3/4] tcp: introduce icsk->icsk_keepalive_timer Eric Dumazet
2025-11-26  0:06   ` Kuniyuki Iwashima
2025-11-24 17:50 ` [PATCH net-next 4/4] tcp: remove icsk->icsk_retransmit_timer Eric Dumazet
2025-11-26  0:10   ` Kuniyuki Iwashima
2025-11-26  4:00 ` [PATCH net-next 0/4] tcp: provide better locality for retransmit timer patchwork-bot+netdevbpf
2025-11-26 11:23 ` Matthieu Baerts
2025-11-26 11:27   ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox