[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20240620123338.GX31592@noisy.programming.kicks-ass.net>
Date: Thu, 20 Jun 2024 14:33:38 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Jinjie Ruan <ruanjinjie@...wei.com>
Cc: mingo@...hat.com, juri.lelli@...hat.com, vincent.guittot@...aro.org,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, bristot@...hat.com, vschneid@...hat.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] sched/preempt: Bypass setting same mode for
sched_dynamic_update()
On Thu, Jun 20, 2024 at 08:10:20PM +0800, Jinjie Ruan wrote:
> If the preempt mode to set is same with current preempt mode, there is no
> need to update all the `cond_resched`, `might_resched`, `preempt_schedule`,
> `preempt_schedule_notrace` and `irqentry_exit_cond_resched` state.
IIRC this actively breaks things, also this is a super slow path, nobody
should care.
> Signed-off-by: Jinjie Ruan <ruanjinjie@...wei.com>
> ---
> kernel/sched/core.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index bcf2c4cc0522..eb409901c64c 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -8777,6 +8777,9 @@ static bool klp_override;
>
> static void __sched_dynamic_update(int mode)
> {
> + if (mode == preempt_dynamic_mode)
> + return;
> +
> /*
> * Avoid {NONE,VOLUNTARY} -> FULL transitions from ever ending up in
> * the ZERO state, which is invalid.
> --
> 2.34.1
>
Powered by blists - more mailing lists