[RFC PATCH 01/86] Revert "riscv: support PREEMPT_DYNAMIC with static keys"

From: Ankur Arora
Date: Tue Nov 07 2023 - 17:00:06 EST


As a consequence of making the scheduler responsible for driving
voluntary preemption, we can do away with explicit preemption points.

This means that most of the CONFIG_PREEMPT_DYNAMIC logic, which uses
static calls to switch between varieties of preemption points,
can be removed.

This reverts commit 4e90d0522a688371402ced1d1958ee7381b81f05.

Signed-off-by: Ankur Arora <ankur.a.arora@xxxxxxxxxx>
---
arch/riscv/Kconfig | 1 -
include/asm-generic/preempt.h | 14 +-------------
2 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 9c48fecc6719..4003436e6dad 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -134,7 +134,6 @@ config RISCV
select HAVE_PERF_REGS
select HAVE_PERF_USER_STACK_DUMP
select HAVE_POSIX_CPU_TIMERS_TASK_WORK
- select HAVE_PREEMPT_DYNAMIC_KEY if !XIP_KERNEL
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_RETHOOK if !XIP_KERNEL
select HAVE_RSEQ
diff --git a/include/asm-generic/preempt.h b/include/asm-generic/preempt.h
index 51f8f3881523..b4d43a4af5f7 100644
--- a/include/asm-generic/preempt.h
+++ b/include/asm-generic/preempt.h
@@ -80,21 +80,9 @@ static __always_inline bool should_resched(int preempt_offset)

#ifdef CONFIG_PREEMPTION
extern asmlinkage void preempt_schedule(void);
-extern asmlinkage void preempt_schedule_notrace(void);
-
-#if defined(CONFIG_PREEMPT_DYNAMIC) && defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
-
-void dynamic_preempt_schedule(void);
-void dynamic_preempt_schedule_notrace(void);
-#define __preempt_schedule() dynamic_preempt_schedule()
-#define __preempt_schedule_notrace() dynamic_preempt_schedule_notrace()
-
-#else /* !CONFIG_PREEMPT_DYNAMIC || !CONFIG_HAVE_PREEMPT_DYNAMIC_KEY*/
-
#define __preempt_schedule() preempt_schedule()
+extern asmlinkage void preempt_schedule_notrace(void);
#define __preempt_schedule_notrace() preempt_schedule_notrace()
-
-#endif /* CONFIG_PREEMPT_DYNAMIC && CONFIG_HAVE_PREEMPT_DYNAMIC_KEY*/
#endif /* CONFIG_PREEMPTION */

#endif /* __ASM_PREEMPT_H */
--
2.31.1