]> git.baikalelectronics.ru Git - kernel.git/commit
net: reorder some fields of net_device
authorEric Dumazet <edumazet@google.com>
Sat, 30 Mar 2013 06:31:03 +0000 (06:31 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 30 Mar 2013 21:31:24 +0000 (17:31 -0400)
commit40f8217d292ed15ab0b0b776083876485a13e8b2
tree462060a03b25ae2ab4768c692804de1bca366389
parente08c83fee2990c224b18106e87004e8e6147e79e
net: reorder some fields of net_device

As time passed, some fields were added in net_device, and not
at sensible offsets.

Lets reorder some fields to reduce number of cache lines in RX path.
Fields not used in data path should be moved out of this critical cache
line.

In particular, move broadcast[] to the end of the rx section,
as it is less used, and ethernet uses only the beginning of the 32bytes
field.

Before patch :

offsetof(struct net_device,dev_addr)=0x258
offsetof(struct net_device,rx_handler)=0x2b8
offsetof(struct net_device,ingress_queue)=0x2c8
offsetof(struct net_device,broadcast)=0x278

After :

offsetof(struct net_device,dev_addr)=0x280
offsetof(struct net_device,rx_handler)=0x298
offsetof(struct net_device,ingress_queue)=0x2a8
offsetof(struct net_device,broadcast)=0x2b0

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h