diff options
author | Thomas Graf <tgraf@suug.ch> | 2005-07-05 23:13:41 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-07-05 23:13:41 +0200 |
commit | 1cbb3380ef683f742876f48e3739b3df4ea9e168 (patch) | |
tree | f1c65a6325068ea7baeec716adea5176cdbe6f20 | |
parent | [NET]: Remove unused security member in sk_buff (diff) | |
download | linux-1cbb3380ef683f742876f48e3739b3df4ea9e168.tar.xz 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>
-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; |