Re: [PATCH 1/1] arm64: enable PREEMPT_LAZY
From: Sebastian Andrzej Siewior
Date: Wed Mar 05 2025 - 06:07:05 EST
On 2025-03-05 11:49:25 [+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>
I somehow assumed it was already merged. For what it is worth, this
looks like patch Mike posted in
https://lore.kernel.org/a198a7dd9076f97b89d8882bb249b3bf303564ef.camel@xxxxxx
and tested
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Sebastian