[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130805114212.GA10956@hmsreliant.think-freely.org>
Date: Mon, 5 Aug 2013 07:42:12 -0400
From: Neil Horman <nhorman@...driver.com>
To: Fan Du <fan.du@...driver.com>
Cc: vyasevich@...il.com, davem@...emloft.net, netdev@...r.kernel.org
Subject: Re: [PATCH net-next] sctp: Pack dst_cookie into 1st cacheline hole
for 64bit host
On Mon, Aug 05, 2013 at 05:13:03PM +0800, Fan Du wrote:
> As dst_cookie is used in fast path sctp_transport_dst_check.
>
> Before:
> struct sctp_transport {
> struct list_head transports; /* 0 16 */
> atomic_t refcnt; /* 16 4 */
> __u32 dead:1; /* 20:31 4 */
> __u32 rto_pending:1; /* 20:30 4 */
> __u32 hb_sent:1; /* 20:29 4 */
> __u32 pmtu_pending:1; /* 20:28 4 */
>
> /* XXX 28 bits hole, try to pack */
>
> __u32 sack_generation; /* 24 4 */
>
> /* XXX 4 bytes hole, try to pack */
>
> struct flowi fl; /* 32 64 */
> /* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
> union sctp_addr ipaddr; /* 96 28 */
>
> After:
> struct sctp_transport {
> struct list_head transports; /* 0 16 */
> atomic_t refcnt; /* 16 4 */
> __u32 dead:1; /* 20:31 4 */
> __u32 rto_pending:1; /* 20:30 4 */
> __u32 hb_sent:1; /* 20:29 4 */
> __u32 pmtu_pending:1; /* 20:28 4 */
>
> /* XXX 28 bits hole, try to pack */
>
> __u32 sack_generation; /* 24 4 */
> u32 dst_cookie; /* 28 4 */
> struct flowi fl; /* 32 64 */
> /* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
> union sctp_addr ipaddr; /* 96 28 */
>
> Signed-off-by: Fan Du <fan.du@...driver.com>
> ---
> include/net/sctp/structs.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
> index c0f4e29..d9c93a7 100644
> --- a/include/net/sctp/structs.h
> +++ b/include/net/sctp/structs.h
> @@ -782,6 +782,7 @@ struct sctp_transport {
>
> /* Has this transport moved the ctsn since we last sacked */
> __u32 sack_generation;
> + u32 dst_cookie;
>
> struct flowi fl;
>
> @@ -946,7 +947,6 @@ struct sctp_transport {
> __u64 hb_nonce;
>
> struct rcu_head rcu;
> - u32 dst_cookie;
> };
>
> struct sctp_transport *sctp_transport_new(struct net *, const union sctp_addr *,
> --
> 1.7.9.5
>
>
Acked-by: Neil Horman <nhorman@...driver.com>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists