diff options
author | Thomas Graf <tgraf@suug.ch> | 2005-07-05 14:13:41 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-07-05 14:13:41 -0700 |
commit | 1cbb3380ef683f742876f48e3739b3df4ea9e168 (patch) | |
tree | f1c65a6325068ea7baeec716adea5176cdbe6f20 /include/linux | |
parent | e176fe8954a5239c24afe79b1001ba3c29511963 (diff) | |
download | talos-op-linux-1cbb3380ef683f742876f48e3739b3df4ea9e168.tar.gz talos-op-linux-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>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/skbuff.h | 15 |
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; |