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(-)

Reply via email to