sched/rt, s390: Use CONFIG_PREEMPTION
authorThomas Gleixner <tglx@linutronix.de>
Tue, 15 Oct 2019 19:18:04 +0000 (21:18 +0200)
committerIngo Molnar <mingo@kernel.org>
Sun, 8 Dec 2019 13:37:35 +0000 (14:37 +0100)
CONFIG_PREEMPTION is selected by CONFIG_PREEMPT and by CONFIG_PREEMPT_RT.
Both PREEMPT and PREEMPT_RT require the same functionality which today
depends on CONFIG_PREEMPT.

Switch the preemption and entry code over to use CONFIG_PREEMPTION. Add
PREEMPT_RT output to die().

[bigeasy: +Kconfig, dumpstack.c]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: linux-s390@vger.kernel.org
Link: https://lore.kernel.org/r/20191015191821.11479-18-bigeasy@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/s390/Kconfig
arch/s390/include/asm/preempt.h
arch/s390/kernel/dumpstack.c
arch/s390/kernel/entry.S

index d4051e8..62b10a3 100644 (file)
@@ -30,7 +30,7 @@ config GENERIC_BUG_RELATIVE_POINTERS
        def_bool y
 
 config GENERIC_LOCKBREAK
-       def_bool y if PREEMPT
+       def_bool y if PREEMPTTION
 
 config PGSTE
        def_bool y if KVM
index b5ea9e1..6ede299 100644 (file)
@@ -130,11 +130,11 @@ static inline bool should_resched(int preempt_offset)
 
 #endif /* CONFIG_HAVE_MARCH_Z196_FEATURES */
 
-#ifdef CONFIG_PREEMPT
+#ifdef CONFIG_PREEMPTION
 extern asmlinkage void preempt_schedule(void);
 #define __preempt_schedule() preempt_schedule()
 extern asmlinkage void preempt_schedule_notrace(void);
 #define __preempt_schedule_notrace() preempt_schedule_notrace()
-#endif /* CONFIG_PREEMPT */
+#endif /* CONFIG_PREEMPTION */
 
 #endif /* __ASM_PREEMPT_H */
index d306fe0..2c122d8 100644 (file)
@@ -195,6 +195,8 @@ void die(struct pt_regs *regs, const char *str)
               regs->int_code >> 17, ++die_counter);
 #ifdef CONFIG_PREEMPT
        pr_cont("PREEMPT ");
+#elif defined(CONFIG_PREEMPT_RT)
+       pr_cont("PREEMPT_RT ");
 #endif
        pr_cont("SMP ");
        if (debug_pagealloc_enabled())
index 270d1d1..9205add 100644 (file)
@@ -790,7 +790,7 @@ ENTRY(io_int_handler)
 .Lio_work:
        tm      __PT_PSW+1(%r11),0x01   # returning to user ?
        jo      .Lio_work_user          # yes -> do resched & signal
-#ifdef CONFIG_PREEMPT
+#ifdef CONFIG_PREEMPTION
        # check for preemptive scheduling
        icm     %r0,15,__LC_PREEMPT_COUNT
        jnz     .Lio_restore            # preemption is disabled