Re: [PATCH 1/1] arm64: enable PREEMPT_LAZY

From: Petr Tesarik
Date: Thu Mar 06 2025 - 07:23:56 EST


On Wed, 5 Mar 2025 12:15:35 +0000
Mark Rutland <mark.rutland@xxxxxxx> wrote:

> On Wed, Mar 05, 2025 at 11:49:25AM +0100, Valentin Schneider wrote:
> > From: Mark Rutland <mark.rutland@xxxxxxx>
> >
> > For an architecture to enable CONFIG_ARCH_HAS_RESCHED_LAZY, two things are
> > required:
> > 1) Adding a TIF_NEED_RESCHED_LAZY flag definition
> > 2) Checking for TIF_NEED_RESCHED_LAZY in the appropriate locations
> >
> > 2) is handled in a generic manner by CONFIG_GENERIC_ENTRY, which isn't
> > (yet) implemented for arm64. However, outside of core scheduler code,
> > TIF_NEED_RESCHED_LAZY only needs to be checked on a kernel exit, meaning:
> > o return/entry to userspace.
> > o return/entry to guest.
> >
> > The return/entry to a guest is all handled by xfer_to_guest_mode_handle_work()
> > which already does the right thing, so it can be left as-is.
> >
> > arm64 doesn't use common entry's exit_to_user_mode_prepare(), so update its
> > return to user path to check for TIF_NEED_RESCHED_LAZY and call into
> > schedule() accordingly.
> >
> > Link: https://lore.kernel.org/linux-rt-users/20241216190451.1c61977c@xxxxxxxxxxxxxxxxxxxx/
> > Link: https://lore.kernel.org/all/xhsmh4j0fl0p3.mognet@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
> > Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx>
> > [testdrive, _TIF_WORK_MASK fixlet and changelog.]
> > Signed-off-by: Mike Galbraith <efault@xxxxxx>
> > [Another round of testing; changelog faff]
> > Signed-off-by: Valentin Schneider <vschneid@xxxxxxxxxx>
> > ---
> > arch/arm64/Kconfig | 1 +
> > arch/arm64/include/asm/thread_info.h | 16 +++++++++-------
> > arch/arm64/kernel/entry-common.c | 2 +-
> > 3 files changed, 11 insertions(+), 8 deletions(-)
>
> Catalin, Will, given this is small and self-contained, I reckon it makes
> sense to pick this up ahead of Jinjie's series to move arm64 over to the
> generic entry library (which is on my queue of things to review). Even
> if we pick up both, it'll be easier to bisect and debug issues caused by
> this patch alone.
>
> The fixes/cleanups from Mike and Valentin look right to me, so FWIW:
>
> Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

Thank you, all. Much appreciated.

Petr T