[acme@filo net-2.6]$ pahole ../OUTPUT/qemu/net-2.6/vmlinux tcp_sock /* /home/acme/git/net-2.6/include/linux/tcp.h:227 */ struct tcp_sock { struct inet_connection_sock inet_conn; /* 0 844 */ /* --- cacheline 13 boundary (832 bytes) was 12 bytes ago --- */ u16 tcp_header_len; /* 844 2 */ u16 xmit_size_goal; /* 846 2 */ __be32 pred_flags; /* 848 4 */ u32 rcv_nxt; /* 852 4 */ u32 snd_nxt; /* 856 4 */ u32 snd_una; /* 860 4 */ u32 snd_sml; /* 864 4 */ u32 rcv_tstamp; /* 868 4 */ u32 lsndtime; /* 872 4 */ struct { struct sk_buff_head prequeue; /* 0 28 */ struct task_struct * task; /* 28 4 */ struct iovec * iov; /* 32 4 */ int memory; /* 36 4 */ int len; /* 40 4 */ } ucopy; /* 876 44 */ /* --- cacheline 14 boundary (896 bytes) was 24 bytes ago --- */ u32 snd_wl1; /* 920 4 */ u32 snd_wnd; /* 924 4 */ u32 max_window; /* 928 4 */ u32 mss_cache; /* 932 4 */ u32 window_clamp; /* 936 4 */ u32 rcv_ssthresh; /* 940 4 */ u32 frto_highmark; /* 944 4 */ u8 reordering; /* 948 1 */ u8 frto_counter; /* 949 1 */ u8 nonagle; /* 950 1 */ u8 keepalive_probes; /* 951 1 */ u32 srtt; /* 952 4 */ u32 mdev; /* 956 4 */ /* --- cacheline 15 boundary (960 bytes) --- */ u32 mdev_max; /* 960 4 */ u32 rttvar; /* 964 4 */ u32 rtt_seq; /* 968 4 */ u32 packets_out; /* 972 4 */ u32 left_out; /* 976 4 */ u32 retrans_out; /* 980 4 */ struct tcp_options_received rx_opt; /* 984 24 */ u32 snd_ssthresh; /* 1008 4 */ u32 snd_cwnd; /* 1012 4 */ u16 snd_cwnd_cnt; /* 1016 2 */ u16 snd_cwnd_clamp; /* 1018 2 */ u32 snd_cwnd_used; /* 1020 4 */ /* --- cacheline 16 boundary (1024 bytes) --- */ u32 snd_cwnd_stamp; /* 1024 4 */ struct sk_buff_head out_of_order_queue; /* 1028 28 */ u32 rcv_wnd; /* 1056 4 */ u32 rcv_wup; /* 1060 4 */ u32 write_seq; /* 1064 4 */ u32 pushed_seq; /* 1068 4 */ u32 copied_seq; /* 1072 4 */ struct tcp_sack_block duplicate_sack[1]; /* 1076 8 */ struct tcp_sack_block selective_acks[4]; /* 1084 32 */ /* --- cacheline 17 boundary (1088 bytes) was 28 bytes ago --- */ struct tcp_sack_block_wire recv_sack_cache[4]; /* 1116 32 */ struct sk_buff * lost_skb_hint; /* 1148 4 */ /* --- cacheline 18 boundary (1152 bytes) --- */ struct sk_buff * scoreboard_skb_hint; /* 1152 4 */ struct sk_buff * retransmit_skb_hint; /* 1156 4 */ struct sk_buff * forward_skb_hint; /* 1160 4 */ struct sk_buff * fastpath_skb_hint; /* 1164 4 */ int fastpath_cnt_hint; /* 1168 4 */ int lost_cnt_hint; /* 1172 4 */ int retransmit_cnt_hint; /* 1176 4 */ int forward_cnt_hint; /* 1180 4 */ u16 advmss; /* 1184 2 */ u16 prior_ssthresh; /* 1186 2 */ u32 lost_out; /* 1188 4 */ u32 sacked_out; /* 1192 4 */ u32 fackets_out; /* 1196 4 */ u32 high_seq; /* 1200 4 */ u32 retrans_stamp; /* 1204 4 */ u32 undo_marker; /* 1208 4 */ int undo_retrans; /* 1212 4 */ /* --- cacheline 19 boundary (1216 bytes) --- */ u32 urg_seq; /* 1216 4 */ u16 urg_data; /* 1220 2 */ u8 urg_mode; /* 1222 1 */ u8 ecn_flags; /* 1223 1 */ u32 snd_up; /* 1224 4 */ u32 total_retrans; /* 1228 4 */ u32 bytes_acked; /* 1232 4 */ unsigned int keepalive_time; /* 1236 4 */ unsigned int keepalive_intvl; /* 1240 4 */ int linger2; /* 1244 4 */ long unsigned int last_synq_overflow; /* 1248 4 */ u32 tso_deferred; /* 1252 4 */ struct { u32 rtt; /* 0 4 */ u32 seq; /* 4 4 */ u32 time; /* 8 4 */ } rcv_rtt_est; /* 1256 12 */ struct { int space; /* 0 4 */ u32 seq; /* 4 4 */ u32 time; /* 8 4 */ } rcvq_space; /* 1268 12 */ /* --- cacheline 20 boundary (1280 bytes) --- */ struct { u32 probe_seq_start; /* 0 4 */ u32 probe_seq_end; /* 4 4 */ } mtu_probe; /* 1280 8 */ }; /* size: 1288, cachelines: 21 */ /* last cacheline: 8 bytes */