[IPSEC] flow: Remove an unnecessary ____cacheline_aligned
We use a percpu variable named flow_hash_info, which holds 12 bytes. It is currently marked as ____cacheline_aligned, which makes linker skip space to properly align this variable. Before : c065cc90 D per_cpu__softnet_data c065cd00 d per_cpu__flow_tables <Here, hole of 124 bytes> c065cd80 d per_cpu__flow_hash_info <Here, hole of 116 bytes> c065ce00 d per_cpu__flow_flush_tasklets c065ce14 d per_cpu__rt_cache_stat This alignement is quite unproductive, and removing it reduces the size of percpu data (by 240 bytes on my x86 machine), and improves performance (flow_tables & flow_hash_info can share a single cache line) After patch : c065cc04 D per_cpu__softnet_data c065cc4c d per_cpu__flow_tables c065cc50 d per_cpu__flow_hash_info c065cc5c d per_cpu__flow_flush_tasklets c065cc70 d per_cpu__rt_cache_stat Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4136cd523e
commit
5f58a5c872
|
@ -52,7 +52,7 @@ struct flow_percpu_info {
|
||||||
int hash_rnd_recalc;
|
int hash_rnd_recalc;
|
||||||
u32 hash_rnd;
|
u32 hash_rnd;
|
||||||
int count;
|
int count;
|
||||||
} ____cacheline_aligned;
|
};
|
||||||
static DEFINE_PER_CPU(struct flow_percpu_info, flow_hash_info) = { 0 };
|
static DEFINE_PER_CPU(struct flow_percpu_info, flow_hash_info) = { 0 };
|
||||||
|
|
||||||
#define flow_hash_rnd_recalc(cpu) \
|
#define flow_hash_rnd_recalc(cpu) \
|
||||||
|
|
Loading…
Reference in a new issue