neigh: reorder struct neighbour
It is important to move nud_state outside of the often modified cache
line (because of refcnt), to reduce false sharing in neigh_event_send()
This is a followup of commit 0ed8ddf404
(neigh: Protect neigh->ha[]
with a seqlock)
This gives a 7% speedup on routing test with IP route cache disabled.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
c0c04c2a89
Коммит
46b13fc5c0
|
@ -96,16 +96,16 @@ struct neighbour {
|
|||
struct neigh_parms *parms;
|
||||
unsigned long confirmed;
|
||||
unsigned long updated;
|
||||
__u8 flags;
|
||||
__u8 nud_state;
|
||||
__u8 type;
|
||||
__u8 dead;
|
||||
rwlock_t lock;
|
||||
atomic_t refcnt;
|
||||
struct sk_buff_head arp_queue;
|
||||
struct timer_list timer;
|
||||
unsigned long used;
|
||||
atomic_t probes;
|
||||
rwlock_t lock;
|
||||
__u8 flags;
|
||||
__u8 nud_state;
|
||||
__u8 type;
|
||||
__u8 dead;
|
||||
seqlock_t ha_lock;
|
||||
unsigned char ha[ALIGN(MAX_ADDR_LEN, sizeof(unsigned long))];
|
||||
struct hh_cache *hh;
|
||||
|
|
Загрузка…
Ссылка в новой задаче