From: Heiko Carstens Date: Fri, 5 Jun 2026 15:32:06 +0000 (+0200) Subject: s390: Remove GENERIC_LOCKBREAK Kconfig option X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=1f57f68c4dd101e5e8ffc9ffa6428f45bcdd776a;p=thirdparty%2Flinux.git s390: Remove GENERIC_LOCKBREAK Kconfig option s390 selects GENERIC_LOCKBREAK if PREEMPT is enabled. Reason is a historic 18 years old commit [1] which fixed a compile error for PREEMPT enabled kernels. Back than only PREEMPT_NONE and PREEMPT_VOLUNTARY kernels were considered to be important for s390. PREEMPT should "just work". However, since recently PREEMPT is always enabled [2], which also causes GENERIC_LOCKBREAK to be always enabled. For some workloads this leads to massive performance degradation; e.g. a simple kernel compile on machines with many CPUs may take up to four times longer. To fix this just remove the GENERIC_LOCKBREAK from s390's Kconfig, since the compile error from 18 years ago does not exist anymore. [1] commit b6b40c532a36 ("[S390] Define GENERIC_LOCKBREAK.") [2] commit 7dadeaa6e851 ("sched: Further restrict the preemption modes") Cc: stable@vger.kernel.org Reported-by: Massimiliano Pellizzer Reviewed-by: Sven Schnelle Signed-off-by: Heiko Carstens Signed-off-by: Alexander Gordeev --- diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index ecbcbb781e40..9921a3772bf7 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -29,9 +29,6 @@ config GENERIC_BUG config GENERIC_BUG_RELATIVE_POINTERS def_bool y -config GENERIC_LOCKBREAK - def_bool y if PREEMPTION - config AUDIT_ARCH def_bool y