]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86: Select ARCH_MEMORY_ORDER_TSO
authorThomas Gleixner <tglx@kernel.org>
Tue, 2 Jun 2026 09:09:47 +0000 (11:09 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 3 Jun 2026 09:38:50 +0000 (11:38 +0200)
The generic unsafe_atomic_store_release_user() implementation does:

    if (!IS_ENABLED(CONFIG_ARCH_MEMORY_ORDER_TSO))
        smp_mb();
    unsafe_put_user();

As x86 implements Total Store Order (TSO) which means stores imply release,
select ARCH_MEMORY_ORDER_TSO to avoid the unnecessary smp_mb().

Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: André Almeida <andrealmeid@igalia.com>
Link: https://patch.msgid.link/20260602090535.564499644@kernel.org
arch/x86/Kconfig

index f3f7cb01d69d022538d283f6c7049ba8bd4c3792..1ce62a996192e4688f5be7eac7572b696ca4d91a 100644 (file)
@@ -113,6 +113,7 @@ config X86
        select ARCH_HAS_ZONE_DMA_SET if EXPERT
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select ARCH_HAVE_EXTRA_ELF_NOTES
+       select ARCH_MEMORY_ORDER_TSO
        select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE
        select ARCH_MIGHT_HAVE_ACPI_PDC         if ACPI
        select ARCH_MIGHT_HAVE_PC_PARPORT