Dynamic preemption can be static key or static call based.
Static key is used to check kernel preemption depending on
the current preemption model. i.e enable for lazy, full.
Code is currently spread across entry/common.c, arm64 and latest being
powerpc. There is little arch specific to it. arm64, powerpc have the
same code. It is better to move it into kernel/sched since preemption
is more closely associated with scheduler.
Plus, Any new arch that wants dynamic preemption enabled need to have
only HAVE_PREEMPT_DYNAMIC_KEY.
Suggested-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Signed-off-by: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
Acked-by: Will Deacon <will@xxxxxxxxxx>
Acked-by: Madhavan Srinivasan <maddy@xxxxxxxxxxxxx>
---
arch/arm64/include/asm/preempt.h | 1 -
arch/arm64/kernel/entry-common.c | 8 --------
arch/powerpc/include/asm/preempt.h | 16 ----------------
arch/powerpc/kernel/interrupt.c | 4 ----
include/linux/irq-entry-common.h | 1 -
include/linux/sched.h | 8 ++++++++
kernel/entry/common.c | 1 -
kernel/sched/core.c | 4 ++++
8 files changed, 12 insertions(+), 31 deletions(-)
delete mode 100644 arch/powerpc/include/asm/preempt.h