mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	tcp: more struct tcp_sock adjustments
tp->recvmsg_inq is used from tcp recvmsg() thus should be in tcp_sock_read_rx group. tp->tcp_clock_cache and tp->tcp_mstamp are written both in rx and tx paths, thus are better placed in tcp_sock_write_txrx group. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									7c7be68346
								
							
						
					
					
						commit
						d2c3a7eb1a
					
				
					 2 changed files with 7 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -244,6 +244,7 @@ struct tcp_sock {
 | 
			
		|||
	/* OOO segments go in this rbtree. Socket lock must be held. */
 | 
			
		||||
	struct rb_root	out_of_order_queue;
 | 
			
		||||
	u32	snd_ssthresh;	/* Slow start size threshold		*/
 | 
			
		||||
	u8	recvmsg_inq : 1;/* Indicate # of bytes in queue upon recvmsg */
 | 
			
		||||
	__cacheline_group_end(tcp_sock_read_rx);
 | 
			
		||||
 | 
			
		||||
	/* TX read-write hotpath cache lines */
 | 
			
		||||
| 
						 | 
				
			
			@ -266,8 +267,6 @@ struct tcp_sock {
 | 
			
		|||
	u32	mdev_us;	/* medium deviation			*/
 | 
			
		||||
	u32	rtt_seq;	/* sequence number to update rttvar	*/
 | 
			
		||||
	u64	tcp_wstamp_ns;	/* departure time for next sent data packet */
 | 
			
		||||
	u64	tcp_clock_cache; /* cache last tcp_clock_ns() (see tcp_mstamp_refresh()) */
 | 
			
		||||
	u64	tcp_mstamp;	/* most recent packet received/sent */
 | 
			
		||||
	struct list_head tsorted_sent_queue; /* time-sorted sent but un-SACKed skbs */
 | 
			
		||||
	struct sk_buff *highest_sack;   /* skb just after the highest
 | 
			
		||||
					 * skb with SACKed bit set
 | 
			
		||||
| 
						 | 
				
			
			@ -284,6 +283,8 @@ struct tcp_sock {
 | 
			
		|||
 *	0x5?10 << 16 + snd_wnd in net byte order
 | 
			
		||||
 */
 | 
			
		||||
	__be32	pred_flags;
 | 
			
		||||
	u64	tcp_clock_cache; /* cache last tcp_clock_ns() (see tcp_mstamp_refresh()) */
 | 
			
		||||
	u64	tcp_mstamp;	/* most recent packet received/sent */
 | 
			
		||||
	u32	rcv_nxt;	/* What we want to receive next		*/
 | 
			
		||||
	u32	snd_nxt;	/* Next sequence we send		*/
 | 
			
		||||
	u32	snd_una;	/* First byte we want an ack for	*/
 | 
			
		||||
| 
						 | 
				
			
			@ -370,7 +371,6 @@ struct tcp_sock {
 | 
			
		|||
		tlp_retrans:1,	/* TLP is a retransmission */
 | 
			
		||||
		unused:5;
 | 
			
		||||
	u8	thin_lto    : 1,/* Use linear timeouts for thin streams */
 | 
			
		||||
		recvmsg_inq : 1,/* Indicate # of bytes in queue upon recvmsg */
 | 
			
		||||
		fastopen_connect:1, /* FASTOPEN_CONNECT sockopt */
 | 
			
		||||
		fastopen_no_cookie:1, /* Allow send/recv SYN+data without a cookie */
 | 
			
		||||
		fastopen_client_fail:2, /* reason why fastopen failed */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4648,16 +4648,16 @@ static void __init tcp_struct_check(void)
 | 
			
		|||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, lsndtime);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, mdev_us);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, tcp_wstamp_ns);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, tcp_clock_cache);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, tcp_mstamp);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, rtt_seq);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, tsorted_sent_queue);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, highest_sack);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_tx, ecn_flags);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_SIZE(struct tcp_sock, tcp_sock_write_tx, 105);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_SIZE(struct tcp_sock, tcp_sock_write_tx, 89);
 | 
			
		||||
 | 
			
		||||
	/* TXRX read-write hotpath cache lines */
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, pred_flags);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, tcp_clock_cache);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, tcp_mstamp);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, rcv_nxt);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, snd_nxt);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, snd_una);
 | 
			
		||||
| 
						 | 
				
			
			@ -4670,7 +4670,7 @@ static void __init tcp_struct_check(void)
 | 
			
		|||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, app_limited);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, rcv_wnd);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_txrx, rx_opt);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_SIZE(struct tcp_sock, tcp_sock_write_txrx, 76);
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_SIZE(struct tcp_sock, tcp_sock_write_txrx, 92);
 | 
			
		||||
 | 
			
		||||
	/* RX read-write hotpath cache lines */
 | 
			
		||||
	CACHELINE_ASSERT_GROUP_MEMBER(struct tcp_sock, tcp_sock_write_rx, bytes_received);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue