]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mm/hugetlb: sort out global lock annotations
authorMateusz Guzik <mjguzik@gmail.com>
Wed, 28 Aug 2024 16:07:04 +0000 (18:07 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 9 Sep 2024 23:39:02 +0000 (16:39 -0700)
commit83362d223762fcb4048f135423862c760aa2780f
treebeadb300c4371eb05188f779afd2bb45acdd5ad5
parent15444054a537aca115bb077a77e99a9cc5ae11e6
mm/hugetlb: sort out global lock annotations

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.com
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Muchun Song <muchun.song@linux.dev>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/hugetlb.c