diff options
author | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2006-11-27 21:48:32 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-03 00:30:53 -0500 |
commit | 2ff52f282cf287d60e9eda1f3b5ec83e00a86130 (patch) | |
tree | 1838d36bbe158bb5e82d7f4b5b699e8b685930e1 | |
parent | 5d0dbc4a9b2d325458dcbf9a8329bd1d2cc7bd7e (diff) |
[TCP]: Change tcp_header_len member in tcp_sock to u16
With this we eliminate the last hole in struct tcp_sock.
End result:
[acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp.o.before net/ipv4/tcp.o
/pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c:
struct tcp_sock | -4
tcp_header_len;
from: int /* 1000(0) 4(0) */
to: u16 /* 1000(0) 2(0) */
1 struct changed
[acme@newtoy net-2.6.20]$
Now sizeof(tcp_sock) is just...
[acme@newtoy net-2.6.20]$ pahole --sizes ../OUTPUT/qemu/net-2.6.20/net/ipv4/tcp.o | grep -w tcp_sock
struct tcp_sock: 1500 0
1500 bytes ;-)
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
-rw-r--r-- | include/linux/tcp.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index dd61b172ac68..b42ff0efc2df 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
@@ -227,7 +227,8 @@ static inline struct tcp_request_sock *tcp_rsk(const struct request_sock *req) | |||
227 | struct tcp_sock { | 227 | struct tcp_sock { |
228 | /* inet_connection_sock has to be the first member of tcp_sock */ | 228 | /* inet_connection_sock has to be the first member of tcp_sock */ |
229 | struct inet_connection_sock inet_conn; | 229 | struct inet_connection_sock inet_conn; |
230 | int tcp_header_len; /* Bytes of tcp header to send */ | 230 | u16 tcp_header_len; /* Bytes of tcp header to send */ |
231 | u16 xmit_size_goal; /* Goal for segmenting output packets */ | ||
231 | 232 | ||
232 | /* | 233 | /* |
233 | * Header prediction flags | 234 | * Header prediction flags |
@@ -268,8 +269,6 @@ struct tcp_sock { | |||
268 | __u32 snd_wnd; /* The window we expect to receive */ | 269 | __u32 snd_wnd; /* The window we expect to receive */ |
269 | __u32 max_window; /* Maximal window ever seen from peer */ | 270 | __u32 max_window; /* Maximal window ever seen from peer */ |
270 | __u32 mss_cache; /* Cached effective mss, not including SACKS */ | 271 | __u32 mss_cache; /* Cached effective mss, not including SACKS */ |
271 | __u16 xmit_size_goal; /* Goal for segmenting output packets */ | ||
272 | /* XXX Two bytes hole, try to pack */ | ||
273 | 272 | ||
274 | __u32 window_clamp; /* Maximal window to advertise */ | 273 | __u32 window_clamp; /* Maximal window to advertise */ |
275 | __u32 rcv_ssthresh; /* Current window clamp */ | 274 | __u32 rcv_ssthresh; /* Current window clamp */ |