[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5A90DA2E42F8AE43BC4A093BF0678848E5D166@SHSMSX104.ccr.corp.intel.com>
Date: Tue, 19 May 2015 02:36:48 +0000
From: "Du, Fan" <fan.du@...el.com>
To: Eric Dumazet <eric.dumazet@...il.com>,
Stephen Hemminger <stephen@...workplumber.org>,
David Miller <davem@...emloft.net>
CC: Kenneth Klette Jonassen <kennetkl@....uio.no>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
David Hayes <davihay@....uio.no>,
Yuchung Cheng <ycheng@...gle.com>,
Andreas Petlund <apetlund@...ula.no>,
"Du, Fan" <fan.du@...el.com>
Subject: RE: [PATCH net] inet: properly align icsk_ca_priv
>-----Original Message-----
>From: Eric Dumazet [mailto:eric.dumazet@...il.com]
>Sent: Tuesday, May 19, 2015 8:06 AM
>To: Stephen Hemminger; Du, Fan; David Miller
>Cc: Kenneth Klette Jonassen; netdev@...r.kernel.org; David Hayes; Yuchung
>Cheng; Andreas Petlund
>Subject: [PATCH net] inet: properly align icsk_ca_priv
>
>From: Eric Dumazet <edumazet@...gle.com>
>
>tcp_illinois and upcoming tcp_cdg require 64bit alignment of
>icsk_ca_priv
>
>x86 does not care, but other architectures might.
>
>Fixes: 05cbc0db03e82 ("ipv4: Create probe timer for tcp PMTU as per RFC4821")
If you mean this:
Before commit 05cbc0db03e82 ("ipv4: Create probe timer for tcp PMTU as per RFC4821")
struct {
int enabled; /* 1152 4 */
int search_high; /* 1156 4 */
int search_low; /* 1160 4 */
int probe_size; /* 1164 4 */
} icsk_mtup; /* 1152 16 */
u32 icsk_ca_priv[16]; /* 1168 64 */ <-- 1168/6 = 146
/* --- cacheline 19 boundary (1216 bytes) was 16 bytes ago --- */
u32 icsk_user_timeout; /* 1232 4 */
/* size: 1240, cachelines: 20, members: 23 */
/* padding: 4 */
/* last cacheline: 24 bytes */
};
After commit 05cbc0db03e82 ("ipv4: Create probe timer for tcp PMTU as per RFC4821")
struct {
int enabled; /* 1152 4 */
int search_high; /* 1156 4 */
int search_low; /* 1160 4 */
int probe_size; /* 1164 4 */
u32 probe_timestamp; /* 1168 4 */
} icsk_mtup; /* 1152 20 */
u32 icsk_ca_priv[16]; /* 1172 64 */ <-- 1172/6 = 146.5
/* --- cacheline 19 boundary (1216 bytes) was 20 bytes ago --- */
u32 icsk_user_timeout; /* 1236 4 */
/* size: 1240, cachelines: 20, members: 23 */
/* last cacheline: 24 bytes */
};
Acked-by: Fan Du <fan.du@...el.com>
>Signed-off-by: Eric Dumazet <edumazet@...gle.com>
>Cc: Fan Du <fan.du@...el.com>
>---
> include/net/inet_connection_sock.h | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
>diff --git a/include/net/inet_connection_sock.h
>b/include/net/inet_connection_sock.h
>index
>48a8158235874b1625c65651b0bd92eedd999fe5..497bc14cdb85f4f8b33da8fbe7
>aba9d491df50e2 100644
>--- a/include/net/inet_connection_sock.h
>+++ b/include/net/inet_connection_sock.h
>@@ -129,9 +129,10 @@ struct inet_connection_sock {
>
> u32 probe_timestamp;
> } icsk_mtup;
>- u32 icsk_ca_priv[16];
> u32 icsk_user_timeout;
>-#define ICSK_CA_PRIV_SIZE (16 * sizeof(u32))
>+
>+ u64 icsk_ca_priv[64 / sizeof(u64)];
>+#define ICSK_CA_PRIV_SIZE (8 * sizeof(u64))
> };
>
> #define ICSK_TIME_RETRANS 1 /* Retransmit timer */
>
Powered by blists - more mailing lists