net: move napi_hash[] into read mostly section
We do not often add/delete a napi context. Moving napi_hash[] into read mostly section avoids potential false sharing. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d64b5e85bf
commit
6180d9de61
@ -16,6 +16,10 @@
|
|||||||
struct hlist_head name[1 << (bits)] = \
|
struct hlist_head name[1 << (bits)] = \
|
||||||
{ [0 ... ((1 << (bits)) - 1)] = HLIST_HEAD_INIT }
|
{ [0 ... ((1 << (bits)) - 1)] = HLIST_HEAD_INIT }
|
||||||
|
|
||||||
|
#define DEFINE_READ_MOSTLY_HASHTABLE(name, bits) \
|
||||||
|
struct hlist_head name[1 << (bits)] __read_mostly = \
|
||||||
|
{ [0 ... ((1 << (bits)) - 1)] = HLIST_HEAD_INIT }
|
||||||
|
|
||||||
#define DECLARE_HASHTABLE(name, bits) \
|
#define DECLARE_HASHTABLE(name, bits) \
|
||||||
struct hlist_head name[1 << (bits)]
|
struct hlist_head name[1 << (bits)]
|
||||||
|
|
||||||
|
@ -184,7 +184,7 @@ EXPORT_SYMBOL(dev_base_lock);
|
|||||||
static DEFINE_SPINLOCK(napi_hash_lock);
|
static DEFINE_SPINLOCK(napi_hash_lock);
|
||||||
|
|
||||||
static unsigned int napi_gen_id = NR_CPUS;
|
static unsigned int napi_gen_id = NR_CPUS;
|
||||||
static DEFINE_HASHTABLE(napi_hash, 8);
|
static DEFINE_READ_MOSTLY_HASHTABLE(napi_hash, 8);
|
||||||
|
|
||||||
static seqcount_t devnet_rename_seq;
|
static seqcount_t devnet_rename_seq;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user