[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <xhsmh344ipxyj.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
Date: Tue, 06 Jan 2026 16:23:00 +0100
From: Valentin Schneider <vschneid@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>, mingo@...nel.org, Thomas Gleixner
<tglx@...utronix.de>, Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: peterz@...radead.org, juri.lelli@...hat.com, vincent.guittot@...aro.org,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, bigeasy@...utronix.de, clrkwllms@...nel.org,
linux-kernel@...r.kernel.org, linux-rt-devel@...ts.linux.dev, Linus
Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH] sched: Further restrict the preemption modes
On 19/12/25 11:15, Peter Zijlstra wrote:
> [ with 6.18 being an LTS release, it might be a good time for this ]
>
> The introduction of PREEMPT_LAZY was for multiple reasons:
>
> - PREEMPT_RT suffered from over-scheduling, hurting performance compared to
> !PREEMPT_RT.
>
> - the introduction of (more) features that rely on preemption; like
> folio_zero_user() which can do large memset() without preemption checks.
>
> (Xen already had a horrible hack to deal with long running hypercalls)
>
> - the endless and uncontrolled sprinkling of cond_resched() -- mostly cargo
> cult or in response to poor to replicate workloads.
>
> By moving to a model that is fundamentally preemptable these things become
> manageable and avoid needing to introduce more horrible hacks.
>
> Since this is a requirement; limit PREEMPT_NONE to architectures that do not
> support preemption at all. Further limit PREEMPT_VOLUNTARY to those
> architectures that do not yet have PREEMPT_LAZY support (with the eventual goal
> to make this the empty set and completely remove voluntary preemption and
> cond_resched() -- notably VOLUNTARY is already limited to !ARCH_NO_PREEMPT.)
>
> This leaves up-to-date architectures (arm64, loongarch, powerpc, riscv, s390,
> x86) with only two preemption models: full and lazy (like PREEMPT_RT).
>
> While Lazy has been the recommended setting for a while, not all distributions
> have managed to make the switch yet. Force things along. Keep the patch minimal
> in case of hard to address regressions that might pop up.
>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
Reviewed-by: Valentin Schneider <vschneid@...hat.com>
Powered by blists - more mailing lists