mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 07:33:19 +02:00
tcp: move tp->chrono_type next tp->chrono_stat[]
chrono_type is currently in tcp_sock_read_txrx group, which is supposed to hold read-mostly fields. But chrono_type is mostly written in tx path, it should be moved to tcp_sock_write_tx group, close to other chrono fields (chrono_stat[], chrono_start). Note this adds holes, but data locality is far more important. Use a full u8 for the time being, compiler can generate more efficient code. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Neal Cardwell <ncardwell@google.com> Link: https://patch.msgid.link/20260308122302.2895067-1-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
f2db7b80b0
commit
4b78c9cbd8
|
|
@ -228,8 +228,7 @@ struct tcp_sock {
|
|||
u32 sacked_out; /* SACK'd packets */
|
||||
u16 tcp_header_len; /* Bytes of tcp header to send */
|
||||
u8 scaling_ratio; /* see tcp_win_from_space() */
|
||||
u8 chrono_type : 2, /* current chronograph type */
|
||||
repair : 1,
|
||||
u8 repair : 1,
|
||||
tcp_usec_ts : 1, /* TSval values in usec */
|
||||
is_sack_reneg:1, /* in recovery from loss with SACK reneg? */
|
||||
is_cwnd_limited:1,/* forward progress limited by snd_cwnd? */
|
||||
|
|
@ -264,6 +263,7 @@ struct tcp_sock {
|
|||
* total number of data bytes sent.
|
||||
*/
|
||||
u32 snd_sml; /* Last byte of the most recently transmitted small packet */
|
||||
u8 chrono_type; /* current chronograph type */
|
||||
u32 chrono_start; /* Start time in jiffies of a TCP chrono */
|
||||
u32 chrono_stat[3]; /* Time in jiffies for chrono_stat stats */
|
||||
u32 write_seq; /* Tail(+1) of data held in tcp send buffer */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user