Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

tcp: move tcp->rcv_tstamp to tcp_sock_write_txrx group

tcp_ack() writes this field, it belongs to tcp_sock_write_txrx.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20250919204856.2977245-5-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Eric Dumazet and committed by
Jakub Kicinski
1b44d700 e1b022c2

+4 -4
+1 -1
Documentation/networking/net_cachelines/tcp_sock.rst
··· 26 26 u32 dsack_dups 27 27 u32 snd_una read_mostly read_write tcp_wnd_end,tcp_urg_mode,tcp_minshall_check,tcp_cwnd_validate(tx);tcp_ack,tcp_may_update_window,tcp_clean_rtx_queue(write),tcp_ack_tstamp(rx) 28 28 u32 snd_sml read_write tcp_minshall_check,tcp_minshall_update 29 - u32 rcv_tstamp read_mostly tcp_ack 29 + u32 rcv_tstamp read_write read_write tcp_ack 30 30 void * tcp_clean_acked read_mostly tcp_ack 31 31 u32 lsndtime read_write tcp_slow_start_after_idle_check,tcp_event_data_sent 32 32 u32 last_oow_ack_time
+2 -2
include/linux/tcp.h
··· 238 238 /* RX read-mostly hotpath cache lines */ 239 239 __cacheline_group_begin(tcp_sock_read_rx); 240 240 u32 copied_seq; /* Head of yet unread data */ 241 - u32 rcv_tstamp; /* timestamp of last received ACK (for keepalives) */ 242 241 u32 snd_wl1; /* Sequence for window update */ 243 242 u32 tlp_high_seq; /* snd_nxt at the time of TLP */ 244 243 u32 rttvar_us; /* smoothed mdev_max */ ··· 245 246 u16 advmss; /* Advertised MSS */ 246 247 u16 urg_data; /* Saved octet of OOB data and control flags */ 247 248 u32 lost; /* Total data packets lost incl. rexmits */ 249 + u32 snd_ssthresh; /* Slow start size threshold */ 248 250 struct minmax rtt_min; 249 251 /* OOO segments go in this rbtree. Socket lock must be held. */ 250 252 struct rb_root out_of_order_queue; 251 253 #if defined(CONFIG_TLS_DEVICE) 252 254 void (*tcp_clean_acked)(struct sock *sk, u32 acked_seq); 253 255 #endif 254 - u32 snd_ssthresh; /* Slow start size threshold */ 255 256 u8 recvmsg_inq : 1;/* Indicate # of bytes in queue upon recvmsg */ 256 257 __cacheline_group_end(tcp_sock_read_rx); 257 258 ··· 318 319 */ 319 320 u32 app_limited; /* limited until "delivered" reaches this val */ 320 321 u32 rcv_wnd; /* Current receiver window */ 322 + u32 rcv_tstamp; /* timestamp of last received ACK (for keepalives) */ 321 323 /* 322 324 * Options received (usually on last packet, some only on SYN packets). 323 325 */
+1 -1
net/ipv4/tcp.c
··· 5114 5114 5115 5115 /* RX read-mostly hotpath cache lines */ 5116 5116 CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_read_rx, copied_seq); 5117 - CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_read_rx, rcv_tstamp); 5118 5117 CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_read_rx, snd_wl1); 5119 5118 CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_read_rx, tlp_high_seq); 5120 5119 CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_read_rx, rttvar_us); ··· 5163 5164 CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, received_ecn_bytes); 5164 5165 CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, app_limited); 5165 5166 CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, rcv_wnd); 5167 + CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, rcv_tstamp); 5166 5168 CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, rx_opt); 5167 5169 5168 5170 /* RX read-write hotpath cache lines */