• Eric Dumazet's avatar
    [IPSEC] flow: Remove an unnecessary ____cacheline_aligned · 5f58a5c8
    Eric Dumazet authored
    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: default avatarEric Dumazet <dada1@cosmosbay.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5f58a5c8
flow.c 8 KB