[RFC PATCH 0/7] preempt: Tune preemption flavour on boot v4

From: Frederic Weisbecker
Date: Mon Jan 18 2021 - 09:13:33 EST


Hi,

Here is a new version of the feature that can select the preempt flavour
on boot time. Note that it doesn't entirely mimic the actual real
config-based preemption flavours, because at least preempt-RCU
implementation is there in any case.

Also there is still some work to do against subsystems that may play
their own games with CONFIG_PREEMPT.

In this version:

* Restore the initial simple __static_call_return0() implementation.

* Uninline __static_call_return0 on all flavours since its address is
always needed on DEFINE_STATIC_CALL()

* Introduce DEFINE_STATIC_CALL_RET0()

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
preempt/dynamic-v4

HEAD: b5f3b1da9df4197d0b0ffe0f55f0f6a8c838d75f

Thanks,
Frederic
---

Peter Zijlstra (Intel) (4):
preempt/dynamic: Provide cond_resched() and might_resched() static calls
preempt/dynamic: Provide preempt_schedule[_notrace]() static calls
preempt/dynamic: Provide irqentry_exit_cond_resched() static call
preempt/dynamic: Support dynamic preempt with preempt= boot option

Peter Zijlstra (2):
static_call/x86: Add __static_call_return0()
static_call: Pull some static_call declarations to the type headers

Frederic Weisbecker (1):
static_call: Provide DEFINE_STATIC_CALL_RET0()

Michal Hocko (1):
preempt: Introduce CONFIG_PREEMPT_DYNAMIC


Documentation/admin-guide/kernel-parameters.txt | 7 ++
arch/Kconfig | 9 +++
arch/x86/Kconfig | 1 +
arch/x86/include/asm/preempt.h | 34 ++++++---
arch/x86/kernel/static_call.c | 17 ++++-
include/linux/entry-common.h | 4 ++
include/linux/kernel.h | 23 ++++--
include/linux/sched.h | 27 ++++++-
include/linux/static_call.h | 43 ++++--------
include/linux/static_call_types.h | 29 ++++++++
kernel/Kconfig.preempt | 19 +++++
kernel/entry/common.c | 10 ++-
kernel/sched/core.c | 93 ++++++++++++++++++++++++-
kernel/static_call.c | 5 ++
14 files changed, 271 insertions(+), 50 deletions(-)