lkml.org 
[lkml]   [2023]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 01/86] Revert "riscv: support PREEMPT_DYNAMIC with static keys"
    Date
    As a consequence of making the scheduler responsible for driving
    voluntary preemption, we can do away with explicit preemption points.

    This means that most of the CONFIG_PREEMPT_DYNAMIC logic, which uses
    static calls to switch between varieties of preemption points,
    can be removed.

    This reverts commit 4e90d0522a688371402ced1d1958ee7381b81f05.

    Signed-off-by: Ankur Arora <ankur.a.arora@oracle.com>
    ---
    arch/riscv/Kconfig | 1 -
    include/asm-generic/preempt.h | 14 +-------------
    2 files changed, 1 insertion(+), 14 deletions(-)

    diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
    index 9c48fecc6719..4003436e6dad 100644
    --- a/arch/riscv/Kconfig
    +++ b/arch/riscv/Kconfig
    @@ -134,7 +134,6 @@ config RISCV
    select HAVE_PERF_REGS
    select HAVE_PERF_USER_STACK_DUMP
    select HAVE_POSIX_CPU_TIMERS_TASK_WORK
    - select HAVE_PREEMPT_DYNAMIC_KEY if !XIP_KERNEL
    select HAVE_REGS_AND_STACK_ACCESS_API
    select HAVE_RETHOOK if !XIP_KERNEL
    select HAVE_RSEQ
    diff --git a/include/asm-generic/preempt.h b/include/asm-generic/preempt.h
    index 51f8f3881523..b4d43a4af5f7 100644
    --- a/include/asm-generic/preempt.h
    +++ b/include/asm-generic/preempt.h
    @@ -80,21 +80,9 @@ static __always_inline bool should_resched(int preempt_offset)

    #ifdef CONFIG_PREEMPTION
    extern asmlinkage void preempt_schedule(void);
    -extern asmlinkage void preempt_schedule_notrace(void);
    -
    -#if defined(CONFIG_PREEMPT_DYNAMIC) && defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
    -
    -void dynamic_preempt_schedule(void);
    -void dynamic_preempt_schedule_notrace(void);
    -#define __preempt_schedule() dynamic_preempt_schedule()
    -#define __preempt_schedule_notrace() dynamic_preempt_schedule_notrace()
    -
    -#else /* !CONFIG_PREEMPT_DYNAMIC || !CONFIG_HAVE_PREEMPT_DYNAMIC_KEY*/
    -
    #define __preempt_schedule() preempt_schedule()
    +extern asmlinkage void preempt_schedule_notrace(void);
    #define __preempt_schedule_notrace() preempt_schedule_notrace()
    -
    -#endif /* CONFIG_PREEMPT_DYNAMIC && CONFIG_HAVE_PREEMPT_DYNAMIC_KEY*/
    #endif /* CONFIG_PREEMPTION */

    #endif /* __ASM_PREEMPT_H */
    --
    2.31.1
    \
     
     \ /
      Last update: 2023-11-20 13:52    [W:4.171 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site