summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2005-07-05 14:13:41 -0700
committerDavid S. Miller <davem@davemloft.net>2005-07-05 14:13:41 -0700
commit1cbb3380ef683f742876f48e3739b3df4ea9e168 (patch)
treef1c65a6325068ea7baeec716adea5176cdbe6f20
parente176fe8954a5239c24afe79b1001ba3c29511963 (diff)
downloadlwn-1cbb3380ef683f742876f48e3739b3df4ea9e168.tar.gz
lwn-1cbb3380ef683f742876f48e3739b3df4ea9e168.zip
[NET]: Reduce size of sk_buff by 4 bytes
Reduce local_df to a bit field and ip_summed to a 2 bits field thus saving 13 bits. Move bit fields, packet type, and protocol into the spare area between the priority and the destructor. Saves 4 bytes on both, 32bit and 64bit architectures. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/linux/skbuff.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 1e6290f4f81e..14b950413495 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -248,17 +248,18 @@ struct sk_buff {
data_len,
mac_len,
csum;
- unsigned char local_df,
- cloned:1,
- nohdr:1,
- pkt_type,
- ip_summed;
__u32 priority;
- unsigned short protocol;
+ __u8 local_df:1,
+ cloned:1,
+ ip_summed:2,
+ nohdr:1;
+ /* 3 bits spare */
+ __u8 pkt_type;
+ __u16 protocol;
void (*destructor)(struct sk_buff *skb);
#ifdef CONFIG_NETFILTER
- unsigned long nfmark;
+ unsigned long nfmark;
__u32 nfcache;
__u32 nfctinfo;
struct nf_conntrack *nfct;