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