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

Reply via email to