]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sched, x86: Enable Lazy preemption
authorPeter Zijlstra <peterz@infradead.org>
Fri, 4 Oct 2024 12:46:54 +0000 (14:46 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 5 Nov 2024 11:55:38 +0000 (12:55 +0100)
Add the TIF bit and select the Kconfig symbol to make it go.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://lkml.kernel.org/r/20241007075055.555778919@infradead.org
arch/x86/Kconfig
arch/x86/include/asm/thread_info.h

index 2852fcd82cbd8c48983c92f0b6634a1c475b9404..b76aa7f2071095feefb8bb8e8b843bce37c7bbd9 100644 (file)
@@ -93,6 +93,7 @@ config X86
        select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
        select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
        select ARCH_HAS_PMEM_API                if X86_64
+       select ARCH_HAS_PREEMPT_LAZY
        select ARCH_HAS_PTE_DEVMAP              if X86_64
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_HW_PTE_YOUNG
index 12da7dfd5ef13b417eaae07d244edac620f5e8a2..75bb390f7baf5e6103f6ad423e5dbfc82c7991b7 100644 (file)
@@ -87,8 +87,9 @@ struct thread_info {
 #define TIF_NOTIFY_RESUME      1       /* callback before returning to user */
 #define TIF_SIGPENDING         2       /* signal pending */
 #define TIF_NEED_RESCHED       3       /* rescheduling necessary */
-#define TIF_SINGLESTEP         4       /* reenable singlestep on user return*/
-#define TIF_SSBD               5       /* Speculative store bypass disable */
+#define TIF_NEED_RESCHED_LAZY  4       /* rescheduling necessary */
+#define TIF_SINGLESTEP         5       /* reenable singlestep on user return*/
+#define TIF_SSBD               6       /* Speculative store bypass disable */
 #define TIF_SPEC_IB            9       /* Indirect branch speculation mitigation */
 #define TIF_SPEC_L1D_FLUSH     10      /* Flush L1D on mm switches (processes) */
 #define TIF_USER_RETURN_NOTIFY 11      /* notify kernel of userspace return */
@@ -110,6 +111,7 @@ struct thread_info {
 #define _TIF_NOTIFY_RESUME     (1 << TIF_NOTIFY_RESUME)
 #define _TIF_SIGPENDING                (1 << TIF_SIGPENDING)
 #define _TIF_NEED_RESCHED      (1 << TIF_NEED_RESCHED)
+#define _TIF_NEED_RESCHED_LAZY (1 << TIF_NEED_RESCHED_LAZY)
 #define _TIF_SINGLESTEP                (1 << TIF_SINGLESTEP)
 #define _TIF_SSBD              (1 << TIF_SSBD)
 #define _TIF_SPEC_IB           (1 << TIF_SPEC_IB)