• Mateusz Guzik's avatar
    mm/hugetlb: sort out global lock annotations · 83362d22
    Mateusz Guzik authored
    The mutex array pointer shares a cacheline with the spinlock:
    ffffffff84187480 B hugetlb_fault_mutex_table
    ffffffff84187488 B hugetlb_lock
    
    This is because the former is annotated with a macro forcing cacheline
    alignment.  I suspect it was meant to be the variant which on top of it
    makes sure the object does not share the cacheline with anyone.
    
    Since array pointer itself is de facto read-only such an annotation does
    not make sense there anyway.  Instead mark it __ro_after_init along with
    the size var.
    
    Do however move the spinlock out of the way.
    
    [akpm@linux-foundation.org: move section directives to the end of the definitions, per convention]
    [akpm@linux-foundation.org: DEFINE_SPINLOCK doesn't permit section modifiers at end-of-definition]
    Link: https://lkml.kernel.org/r/20240828160704.1425767-1-mjguzik@gmail.comSigned-off-by: default avatarMateusz Guzik <mjguzik@gmail.com>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: Muchun Song <muchun.song@linux.dev>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    83362d22
hugetlb.c 213 KB