[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CADDUTFyoc5ecrYd-DAoMOndy_TMGy+D_UiH5M8UR6F6pjZcA2g@mail.gmail.com>
Date: Thu, 20 Feb 2025 15:57:04 +0200
From: Costa Shulyupin <costa.shul@...hat.com>
To: Frederic Weisbecker <frederic@...nel.org>
Cc: Waiman Long <longman@...hat.com>, Tejun Heo <tj@...nel.org>,
Johannes Weiner <hannes@...xchg.org>, Michal Koutný <mkoutny@...e.com>,
Dan Carpenter <dan.carpenter@...aro.org>, Vlastimil Babka <vbabka@...e.cz>,
Andrew Morton <akpm@...ux-foundation.org>, Chen Yu <yu.c.chen@...el.com>,
Kees Cook <kees@...nel.org>, Randy Dunlap <rdunlap@...radead.org>, linux-kernel@...r.kernel.org,
cgroups@...r.kernel.org
Subject: Re: [RFC PATCH v1] Add kthreads_update_affinity()
Hi Frederic,
On Wed, 22 Jan 2025 at 19:11, Frederic Weisbecker <frederic@...nel.org> wrote:
> > @@ -1355,6 +1355,7 @@ static void update_isolation_cpumasks(bool isolcpus_updated)
...
> > + kthreads_update_affinity();
>
> A few things to consider:
>
> 1) update_isolation_cpumasks() will be called with cpus_read_lock()
> (cf: sched_partition_write() and cpuset_write_resmask()), therefore
> kthreads_online_cpu() can't run concurrently.
Sorry, but I don't understand what you mean by “kthreads_online_cpu()
can't run concurrently.” Could you clarify please?
> 2) The constraint to turn on/off a CPU as nohz_full will be that the
> target CPU is offline.
The final goal of CPU isolation is to isolate real-time applications from
disturbances and ensure low latency. However, CPU hotplug disrupts
real-time tasks including the oslat test, which measures latency using RDTSC.
While performing a full CPU offline-online cycle at runtime can help avoid
long reboots and reduce downtime, it does not achieve the goal of
maintaining consistently low latency for real-time applications.
> * scheduler (see the housekeeping_mask() references, especially the ilb which is
> my biggest worry, get_nohz_timer_target() shouldn't be an issue)
Are you referring to find_new_ilb()? What are your concerns?
> * posix cpu timers (make tick_dep unconditional ?)
Do you refer to the arm_timer()?
Could you please clarify which condition you are referring to?
> But we are getting closer!
Thank you very much for the detailed review!
Thanks,
Costa
Powered by blists - more mailing lists