[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <75607f0eb5939bf1651ff2e6c3eda4df2b4f26f0.camel@redhat.com>
Date: Fri, 11 Apr 2025 09:08:35 +0200
From: Gabriele Monaco <gmonaco@...hat.com>
To: Frederic Weisbecker <frederic@...nel.org>
Cc: Thomas Gleixner <tglx@...utronix.de>, linux-kernel@...r.kernel.org,
Waiman Long <longman@...hat.com>
Subject: Re: [PATCH] timers: Exclude isolated cpus from timer migation
On Thu, 2025-04-10 at 17:32 +0200, Frederic Weisbecker wrote:
> Le Thu, Apr 10, 2025 at 05:05:52PM +0200, Gabriele Monaco a écrit :
> > I'm not understanding what is going to be invasive in this case.
> > Aren't we just talking about not allowing isolcpus to pull timers
> > from
> > other cpus?
>
> Right, but in order to do that you need to avoid remotely executing
> timers. And for that we need your initial patch (after reviews have
> been addressed). Right?
>
> > Let's ignore for now the global timers started on those CPUs, I'm
> > not
> > aware of complaints regarding that.
> >
> > As far as I understand, the change would allow timer migration to
> > work
> > normally out of isolcpus and among housekeeping ones, we are not
> > forcing any migration that would potentially introduce overhead or
> > missed timers.
> > Or am I oversimplifying it?
>
> Global timers only migrate:
>
> a) When a CPU goes offline (but they should be migrated to
> a housekeeping CPU)
>
> b) When a timer executes remotely and re-enqueues itself.
>
> In order to handle b), you must make sure an isolated CPU
> can't execute timers remotely. Hence why it must be set
> as not available like you did.
>
> Or am I missing something else?
>
Mmh, my patch is in fact allowing isolated cores to still migrate
everything if they go offline.
However I don't think housekeeping CPUs can execute remote timers on
isolated ones. That is not a problem for offline CPUs (they won't start
anything and do the migration while offlining is enough), but we should
allow it here.
I may be missing something, but isn't it what [1] is doing?
Thanks,
Gabriele
[1] -
https://elixir.bootlin.com/linux/v6.13.7/source/kernel/time/timer_migration.c#L976
Powered by blists - more mailing lists