]> git.baikalelectronics.ru Git - kernel.git/commit
net: Use 16bits for *_headers fields of struct skbuff
authorSimon Horman <horms@verge.net.au>
Thu, 23 May 2013 21:02:51 +0000 (21:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 May 2013 05:50:59 +0000 (22:50 -0700)
commitfb82f7e55a0e59e0434531285cc7f90c763847ff
tree34abfd79e6e06b0be580ebacfa497330e4dc1634
parent2cf6d0820ca01b117d4b3a0a1e6465e628f6fe3b
net: Use 16bits for *_headers fields of struct skbuff

In order to mitigate ongoing incresase in the size of struct skbuff
use 16 bit integer offsets rather than pointers for inner_*_headers.

This appears to reduce the size of struct skbuff from 0xd0 to 0xc0
bytes on x86_64 with the following all unset.

CONFIG_XFRM
CONFIG_NF_CONNTRACK
CONFIG_NF_CONNTRACK_MODULE
NET_SKBUFF_NF_DEFRAG_NEEDED
CONFIG_BRIDGE_NETFILTER
CONFIG_NET_SCHED
CONFIG_IPV6_NDISC_NODETYPE
CONFIG_NET_DMA
CONFIG_NETWORK_SECMARK

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h