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)
commit4c3d5e7b41dda1b1372bfc2545ef092a1bc5ad33
tree462060a03b25ae2ab4768c692804de1bca366389
parent8f0923c17d34ac838b7f57709f87fe33f76ee219
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