From: Patrick McHardy <kaber@trash.net>
Date: Tue, 21 Mar 2006 01:12:12 +0000 (-0800)
Subject: [NET]: Reduce size of struct sk_buff on 64 bit architectures
X-Git-Tag: firefly_0821_release~37598^2~204
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=77d2ca350018c507815f5d38a40ffb597eb9ae25;p=firefly-linux-kernel-4.4.55.git

[NET]: Reduce size of struct sk_buff on 64 bit architectures

Move skb->nf_mark next to skb->tc_index to remove a 4 byte hole between
skb->nfmark and skb->nfct and another one between skb->users and skb->head
when CONFIG_NETFILTER, CONFIG_NET_SCHED and CONFIG_NET_CLS_ACT are enabled.
For all other combinations the size stays the same.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index ad7cc22bd424..838ce0fdcef7 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -270,7 +270,6 @@ struct sk_buff {
 
 	void			(*destructor)(struct sk_buff *skb);
 #ifdef CONFIG_NETFILTER
-	__u32			nfmark;
 	struct nf_conntrack	*nfct;
 #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
 	struct sk_buff		*nfct_reasm;
@@ -278,6 +277,7 @@ struct sk_buff {
 #ifdef CONFIG_BRIDGE_NETFILTER
 	struct nf_bridge_info	*nf_bridge;
 #endif
+	__u32			nfmark;
 #endif /* CONFIG_NETFILTER */
 #ifdef CONFIG_NET_SCHED
 	__u16			tc_index;	/* traffic control index */