tcp: shrink tcp_timewait_sock by 8 bytes
authorEric Dumazet <edumazet@google.com>
Fri, 9 Oct 2015 02:33:24 +0000 (19:33 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Oct 2015 02:28:24 +0000 (19:28 -0700)
Reducing tcp_timewait_sock from 280 bytes to 272 bytes
allows SLAB to pack 15 objects per page instead of 14 (on x86)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/tcp.h
include/net/sock.h

index e442e6e9a365e38c14c00bc7e5dd51d564be82e1..86a7edaa679764013fc4c92eadf38de236d887ce 100644 (file)
@@ -356,8 +356,8 @@ static inline struct tcp_sock *tcp_sk(const struct sock *sk)
 
 struct tcp_timewait_sock {
        struct inet_timewait_sock tw_sk;
-       u32                       tw_rcv_nxt;
-       u32                       tw_snd_nxt;
+#define tw_rcv_nxt tw_sk.__tw_common.skc_tw_rcv_nxt
+#define tw_snd_nxt tw_sk.__tw_common.skc_tw_snd_nxt
        u32                       tw_rcv_wnd;
        u32                       tw_ts_offset;
        u32                       tw_ts_recent;
index 19cfe1fc911ccf13b8298e73dfd789024065b9a7..64a75458d22cc2fc4e972601972cf9ff9cf0a57a 100644 (file)
@@ -229,6 +229,7 @@ struct sock_common {
        union {
                int             skc_incoming_cpu;
                u32             skc_rcv_wnd;
+               u32             skc_tw_rcv_nxt; /* struct tcp_timewait_sock  */
        };
 
        atomic_t                skc_refcnt;
@@ -237,6 +238,7 @@ struct sock_common {
        union {
                u32             skc_rxhash;
                u32             skc_window_clamp;
+               u32             skc_tw_snd_nxt; /* struct tcp_timewait_sock */
        };
        /* public: */
 };