summaryrefslogtreecommitdiffstats
path: root/include/net/neighbour.h
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2010-09-30 05:36:29 +0000
committerDavid S. Miller <davem@davemloft.net>2010-10-01 00:36:51 -0700
commit367e5e376922dcf52f92e1db436010fb828d3bfa (patch)
treeee2fb2f50b23303a06b93492da2dea74b78cb263 /include/net/neighbour.h
parentbb7196d2bf30e4cb06fe5fed046c9084465e854c (diff)
downloadlinux-stable-367e5e376922dcf52f92e1db436010fb828d3bfa.tar.gz
linux-stable-367e5e376922dcf52f92e1db436010fb828d3bfa.tar.bz2
linux-stable-367e5e376922dcf52f92e1db436010fb828d3bfa.zip
neigh: reorder fields in struct neighbour
On 64bit arches, there are two 32bit holes that we can remove. sizeof(struct neighbour) shrinks from 0xf8 to 0xf0 bytes Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/neighbour.h')
-rw-r--r--include/net/neighbour.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index 242879b6c4df..7d08fd1062f0 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -94,7 +94,7 @@ struct neighbour {
struct neighbour *next;
struct neigh_table *tbl;
struct neigh_parms *parms;
- struct net_device *dev;
+ struct net_device *dev;
unsigned long used;
unsigned long confirmed;
unsigned long updated;
@@ -102,11 +102,11 @@ struct neighbour {
__u8 nud_state;
__u8 type;
__u8 dead;
+ atomic_t refcnt;
atomic_t probes;
rwlock_t lock;
unsigned char ha[ALIGN(MAX_ADDR_LEN, sizeof(unsigned long))];
struct hh_cache *hh;
- atomic_t refcnt;
int (*output)(struct sk_buff *skb);
struct sk_buff_head arp_queue;
struct timer_list timer;
@@ -163,7 +163,7 @@ struct neigh_table {
atomic_t entries;
rwlock_t lock;
unsigned long last_rand;
- struct kmem_cache *kmem_cachep;
+ struct kmem_cache *kmem_cachep;
struct neigh_statistics __percpu *stats;
struct neighbour **hash_buckets;
unsigned int hash_mask;