mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 17:57:38 -04:00
tcp: introduce icsk->icsk_keepalive_timer
sk->sk_timer has been used for TCP keepalives. Keepalive timers are not in fast path, we want to use sk->sk_timer storage for retransmit timers, for better cache locality. Create icsk->icsk_keepalive_timer and change keepalive code to no longer use sk->sk_timer. Added space is reclaimed in the following patch. This includes changes to MPTCP, which was also using sk_timer. Alias icsk->mptcp_tout_timer and icsk->icsk_keepalive_timer for inet_sk_diag_fill() sake. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com> Link: https://patch.msgid.link/20251124175013.1473655-4-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
27e8257a86
commit
08dfe37023
@@ -57,6 +57,9 @@ struct inet_connection_sock_af_ops {
|
||||
* @icsk_bind_hash: Bind node
|
||||
* @icsk_bind2_hash: Bind node in the bhash2 table
|
||||
* @icsk_retransmit_timer: Resend (no ack)
|
||||
* @icsk_delack_timer: Delayed ACK timer
|
||||
* @icsk_keepalive_timer: Keepalive timer
|
||||
* @mptcp_tout_timer: mptcp timer
|
||||
* @icsk_rto: Retransmit timeout
|
||||
* @icsk_pmtu_cookie Last pmtu seen by socket
|
||||
* @icsk_ca_ops Pluggable congestion control hook
|
||||
@@ -81,8 +84,12 @@ struct inet_connection_sock {
|
||||
struct request_sock_queue icsk_accept_queue;
|
||||
struct inet_bind_bucket *icsk_bind_hash;
|
||||
struct inet_bind2_bucket *icsk_bind2_hash;
|
||||
struct timer_list icsk_retransmit_timer;
|
||||
struct timer_list icsk_delack_timer;
|
||||
struct timer_list icsk_retransmit_timer;
|
||||
struct timer_list icsk_delack_timer;
|
||||
union {
|
||||
struct timer_list icsk_keepalive_timer;
|
||||
struct timer_list mptcp_tout_timer;
|
||||
};
|
||||
__u32 icsk_rto;
|
||||
__u32 icsk_rto_min;
|
||||
u32 icsk_rto_max;
|
||||
|
||||
Reference in New Issue
Block a user