Messages in this thread | | | Date | Fri, 22 Jan 2021 07:02:14 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [RFC PATCH 0/7] preempt: Tune preemption flavour on boot v4 |
| |
On Mon, Jan 18, 2021 at 03:12:15PM +0100, Frederic Weisbecker wrote: > 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
I gave these a quick test and got the following:
Warning: Kernel ABI header at 'tools/include/linux/static_call_types.h' differs from latest version at 'include/linux/static_call_types.h'.
Other than that, looks good.
Thanx, Paul
> 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(-)
| |