Re: [PATCH] timers: Exclude isolated cpus from timer migation

Gabriele Monaco
2025-04-11T13:02:20Z

On Fri, 2025-04-11 at 13:31 +0200, Frederic Weisbecker wrote:
> Le Fri, Apr 11, 2025 at 09:08:35AM +0200, Gabriele Monaco a écrit :
> > Mmh, my patch is in fact allowing isolated cores to still migrate
> > everything if they go offline.
>
> Sure that doesn't change.
>
> >
> > However I don't think housekeeping CPUs can execute remote timers
> > on
> > isolated ones.
>
> I'm confused, a CPU can't execute something on another CPU (except
> with
> an IPI). But:
>
> Before your patch, a housekeeping or isolated CPU can pull timers
> from
> any other CPU and execute them on its behalf.
>
> After your patch, a housekeeping CPU can only pull timers from other
> housekeeping CPUs. And isolated CPUs each execute their own global
> timers.
>

Right, the way I said it doesn't really make sense.

What I mean is: why wouldn't a housekeeping CPU pull global timers from
an isolated one?

We want to prevent the other way around, but I think housekeeping
should be encouraged to pull timers from isolated CPUs, even if those
are not idle.

I see only preventing isolated CPUs from pulling remote timers may play
bad with the algorithm since they'd register in the hierarchy but just
not pull timers.
(This simpler approach works in our scenario though)

The idea in my patch could mostly work, but I'd explicitly let
housekeeping CPUs pull timers from isolated (while of course not doing
it for offline ones).

Does it make sense to you?

Thanks,
Gabriele