[PATCH v2 0/5] preempt: PREEMPT vs PREEMPT_DYNAMIC configs fixup

From: Valentin Schneider
Date: Wed Nov 10 2021 - 15:25:25 EST


Hi folks,

Thanks to suggestions from Mike, Frederic and Marco I ended up with
something that looks somewhat sane and with a minimal amount of crud.

Patches
=======

o Patch 1 is the meat of the topic and could be picked on its own if the
rest is too icky.
o Patch 2 introduces helpers for the dynamic preempt state
o Patches 3-5 make use of said accessors where relevant.

Testing
=======

Briefly tested the dynamic part on an x86 kernel + QEMU. x86_64_defconfig
gets me:

Dynamic Preempt: voluntary

and appending preempt=full gets me:

Dynamic Preempt: full

Revisions
=========

v1: http://lore.kernel.org/r/20211105104035.3112162-1-valentin.schneider@xxxxxxx
v1.5: http://lore.kernel.org/r/20211109151057.3489223-1-valentin.schneider@xxxxxxx

This v2 is completely different from v1, so I felt like I could get away
without writing a version changelog...

Cheers,
Valentin

Valentin Schneider (5):
preempt: Restore preemption model selection configs
preempt/dynamic: Introduce preempt mode accessors
powerpc: Use preemption model accessors
kscan: Use preemption model accessors
ftrace: Use preemption model accessors for trace header printout

arch/powerpc/kernel/interrupt.c | 2 +-
arch/powerpc/kernel/traps.c | 2 +-
include/linux/kernel.h | 2 +-
include/linux/sched.h | 16 +++++++++++++
include/linux/vermagic.h | 2 +-
init/Makefile | 2 +-
kernel/Kconfig.preempt | 42 ++++++++++++++++-----------------
kernel/kcsan/kcsan_test.c | 4 ++--
kernel/sched/core.c | 17 ++++++++++---
kernel/trace/trace.c | 14 ++++-------
10 files changed, 62 insertions(+), 41 deletions(-)

--
2.25.1