• David Hildenbrand's avatar
    mm: turn USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options · 394290cb
    David Hildenbrand authored
    Patch series "mm: split PTE/PMD PT table Kconfig cleanups+clarifications".
    
    This series is a follow up to the fixes:
    	"[PATCH v1 0/2] mm/hugetlb: fix hugetlb vs. core-mm PT locking"
    
    When working on the fixes, I wondered why 8xx is fine (-> never uses split
    PT locks) and how PT locking even works properly with PMD page table
    sharing (-> always requires split PMD PT locks).
    
    Let's improve the split PT lock detection, make hugetlb properly depend on
    it and make 8xx bail out if it would ever get enabled by accident.
    
    As an alternative to patch #3 we could extend the Kconfig
    SPLIT_PTE_PTLOCKS option from patch #2 -- but enforcing it closer to the
    code that actually implements it feels a bit nicer for documentation
    purposes, and there is no need to actually disable it because it should
    always be disabled (!SMP).
    
    Did a bunch of cross-compilations to make sure that split PTE/PMD PT locks
    are still getting used where we would expect them.
    
    [1] https://lkml.kernel.org/r/20240725183955.2268884-1-david@redhat.com
    
    
    This patch (of 3):
    
    Let's clean that up a bit and prepare for depending on
    CONFIG_SPLIT_PMD_PTLOCKS in other Kconfig options.
    
    More cleanups would be reasonable (like the arch-specific "depends on" for
    CONFIG_SPLIT_PTE_PTLOCKS), but we'll leave that for another day.
    
    Link: https://lkml.kernel.org/r/20240726150728.3159964-1-david@redhat.com
    Link: https://lkml.kernel.org/r/20240726150728.3159964-2-david@redhat.comSigned-off-by: default avatarDavid Hildenbrand <david@redhat.com>
    Acked-by: default avatarMike Rapoport (Microsoft) <rppt@kernel.org>
    Reviewed-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Reviewed-by: default avatarQi Zheng <zhengqi.arch@bytedance.com>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Christian Brauner <brauner@kernel.org>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Muchun Song <muchun.song@linux.dev>
    Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Peter Xu <peterx@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    394290cb
memory.c 182 KB