forked from Minki/linux
rhashtable: ensure cache line alignment on bucket_table
struct bucket_table contains mostly read fields : size, locks_mask, locks. Make sure these are not sharing a cache line with buckets[] Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a4176a9391
commit
b9ebafbe8c
@ -54,10 +54,11 @@ struct rhash_head {
|
|||||||
* @buckets: size * hash buckets
|
* @buckets: size * hash buckets
|
||||||
*/
|
*/
|
||||||
struct bucket_table {
|
struct bucket_table {
|
||||||
size_t size;
|
size_t size;
|
||||||
unsigned int locks_mask;
|
unsigned int locks_mask;
|
||||||
spinlock_t *locks;
|
spinlock_t *locks;
|
||||||
struct rhash_head __rcu *buckets[];
|
|
||||||
|
struct rhash_head __rcu *buckets[] ____cacheline_aligned_in_smp;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef u32 (*rht_hashfn_t)(const void *data, u32 len, u32 seed);
|
typedef u32 (*rht_hashfn_t)(const void *data, u32 len, u32 seed);
|
||||||
|
Loading…
Reference in New Issue
Block a user