Arnaldo Carvalho de Melo a écrit :
/home/acme/git/net-2.6/net/ipv6/tcp_ipv6.c:
struct tcp_sock | -16
struct tcp6_sock | -16
2 structs changed
Now it is at:
/* size: 1552, cachelines: 25 */
/* paddings: 2, sum paddings: 8 */
/* last cacheline: 16 bytes */
As soon as we stop using skb_queue_list we'll get it down to 24 cachelines.
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
include/linux/tcp.h | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index 08027f1..f48644d 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -304,7 +304,6 @@ struct tcp_sock {
u32 rtt_seq; /* sequence number to update rttvar */
u32 packets_out; /* Packets which are "in flight" */
- u32 retrans_out; /* Retransmitted packets out */
/*
* Options received (usually on last packet, some only on SYN packets).
*/
@@ -332,6 +331,8 @@ struct tcp_sock {
struct tcp_sack_block recv_sack_cache[4];
+ u32 retrans_out; /* Retransmitted packets out */
+
Hum... retrans_out should sit close to packets_out (or lost_out/sacked_out
???), please.
'struct tcp_sock' is very large on 64 bits, so I would prefer to make sure
most paths dont need to touch all 24 cache lines (or 25 cache lines).
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html