[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250810055136.897712-11-tiwei.bie@linux.dev>
Date: Sun, 10 Aug 2025 13:51:36 +0800
From: Tiwei Bie <tiwei.bie@...ux.dev>
To: richard@....at,
anton.ivanov@...bridgegreys.com,
johannes@...solutions.net
Cc: linux-um@...ts.infradead.org,
linux-kernel@...r.kernel.org,
benjamin@...solutions.net,
arnd@...db.de,
tiwei.btw@...group.com,
tiwei.bie@...ux.dev
Subject: [PATCH v2 10/10] um: Enable SMP support on x86
From: Tiwei Bie <tiwei.btw@...group.com>
Implement spinlock support for SMP on UML/x86, leveraging x86's
spinlock implementation. In addition, to support SMP on CPUs that
do not support CX8, some additional work is required. However,
considering that such CPUs are already very outdated, and x86 is
also removing support for them [1], let's enable SMP support only
on CPUs that support CX8.
[1] https://lore.kernel.org/lkml/20250515085708.2510123-1-mingo@kernel.org/
Signed-off-by: Tiwei Bie <tiwei.btw@...group.com>
---
arch/x86/um/Kconfig | 3 +++
arch/x86/um/asm/spinlock.h | 8 ++++++++
2 files changed, 11 insertions(+)
create mode 100644 arch/x86/um/asm/spinlock.h
diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig
index 986045d5e638..c52fb5cb8d21 100644
--- a/arch/x86/um/Kconfig
+++ b/arch/x86/um/Kconfig
@@ -9,8 +9,11 @@ endmenu
config UML_X86
def_bool y
select ARCH_BINFMT_ELF_EXTRA_PHDRS if X86_32
+ select ARCH_USE_QUEUED_RWLOCKS
+ select ARCH_USE_QUEUED_SPINLOCKS
select DCACHE_WORD_ACCESS
select HAVE_EFFICIENT_UNALIGNED_ACCESS
+ select UML_SUBARCH_SUPPORTS_SMP if X86_CX8
config 64BIT
bool "64-bit kernel" if "$(SUBARCH)" = "x86"
diff --git a/arch/x86/um/asm/spinlock.h b/arch/x86/um/asm/spinlock.h
new file mode 100644
index 000000000000..20fc77514214
--- /dev/null
+++ b/arch/x86/um/asm/spinlock.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_UM_SPINLOCK_H
+#define __ASM_UM_SPINLOCK_H
+
+#include <asm/qspinlock.h>
+#include <asm/qrwlock.h>
+
+#endif /* __ASM_UM_SPINLOCK_H */
--
2.34.1
Powered by blists - more mailing lists