Commit 4b7cd11f authored by David Ahern's avatar David Ahern Committed by David S. Miller

neighbor: Improve neighbour struct layout

Move arp_queue_len_bytes ahead of arp_queue to remove two 4-byte holes.
Ensure ha element is always 8-byte aligned.
Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2561f972
...@@ -140,8 +140,8 @@ struct neighbour { ...@@ -140,8 +140,8 @@ struct neighbour {
unsigned long updated; unsigned long updated;
rwlock_t lock; rwlock_t lock;
refcount_t refcnt; refcount_t refcnt;
struct sk_buff_head arp_queue;
unsigned int arp_queue_len_bytes; unsigned int arp_queue_len_bytes;
struct sk_buff_head arp_queue;
struct timer_list timer; struct timer_list timer;
unsigned long used; unsigned long used;
atomic_t probes; atomic_t probes;
...@@ -150,7 +150,7 @@ struct neighbour { ...@@ -150,7 +150,7 @@ struct neighbour {
__u8 type; __u8 type;
__u8 dead; __u8 dead;
seqlock_t ha_lock; seqlock_t ha_lock;
unsigned char ha[ALIGN(MAX_ADDR_LEN, sizeof(unsigned long))]; unsigned char ha[ALIGN(MAX_ADDR_LEN, sizeof(unsigned long))] __aligned(8);
struct hh_cache hh; struct hh_cache hh;
int (*output)(struct neighbour *, struct sk_buff *); int (*output)(struct neighbour *, struct sk_buff *);
const struct neigh_ops *ops; const struct neigh_ops *ops;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment