Re: [PATCH 05/30] sched: *_tsk_need_resched() now takes resched_t as param

From: Thomas Gleixner
Date: Mon Feb 19 2024 - 10:26:29 EST


On Mon, Feb 12 2024 at 21:55, Ankur Arora wrote:

The subject line reads odd...

> -static inline bool test_tsk_need_resched(struct task_struct *tsk)
> +static inline bool test_tsk_need_resched(struct task_struct *tsk, resched_t rs)
> {
> - return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED));
> + if (IS_ENABLED(CONFIG_PREEMPT_AUTO) || rs == NR_now)
> + return unlikely(test_tsk_thread_flag(tsk, tif_resched(rs)));
> + else
> + return false;
> }

Same like the others. This wants wrappers with now/lazy.

> /*
> @@ -2104,7 +2121,8 @@ static __always_inline bool need_resched(void)
>
> static __always_inline bool need_resched_lazy(void)
> {
> - return unlikely(tif_need_resched(NR_lazy));
> + return IS_ENABLED(CONFIG_PREEMPT_AUTO) &&
> + unlikely(tif_need_resched(NR_lazy));

Shouldn't this be folded into the patch which adds need_resched_lazy()?

Thanks,

tglx