[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87seyfj4h7.ffs@tglx>
Date: Sat, 18 May 2024 03:25:40 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Costa Shulyupin <costa.shul@...hat.com>, longman@...hat.com,
pauld@...hat.com, juri.lelli@...hat.com, prarit@...hat.com,
vschneid@...hat.com, Anna-Maria Behnsen <anna-maria@...utronix.de>,
Frederic Weisbecker <frederic@...nel.org>, Zefan Li
<lizefan.x@...edance.com>, Tejun Heo <tj@...nel.org>, Johannes Weiner
<hannes@...xchg.org>, Ingo Molnar <mingo@...hat.com>, Peter Zijlstra
<peterz@...radead.org>, Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>, Steven Rostedt
<rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>, Mel Gorman
<mgorman@...e.de>, Daniel Bristot de Oliveira <bristot@...hat.com>, Petr
Mladek <pmladek@...e.com>, Andrew Morton <akpm@...ux-foundation.org>,
Masahiro Yamada <masahiroy@...nel.org>, Randy Dunlap
<rdunlap@...radead.org>, Yoann Congal <yoann.congal@...le.fr>, "Gustavo A.
R. Silva" <gustavoars@...nel.org>, Nhat Pham <nphamcs@...il.com>, Costa
Shulyupin <costa.shul@...hat.com>, linux-kernel@...r.kernel.org,
cgroups@...r.kernel.org
Subject: Re: [PATCH v1 4/7] sched/isolation: Adjust affinity of managed irqs
according to change of housekeeping cpumask
Costa!
On Sat, May 18 2024 at 03:17, Thomas Gleixner wrote:
> Impressive...
Now let's take a step back because none of this makes any sense at all
conceptually.
Reconfiguring the housekeeping CPUs on a life system is expensive and a
slow path operation no matter what.
So why inflicting all of this nonsense to the kernel instead of
cleverly (ab)using CPU hotplug for it in user space:
for_each_cpu(cpu, new_house_keeping_mask) {
if (cpu_ishk(cpu))
continue;
cpu_offline(cpu);
set_cpu_in_hkmask(cpu);
cpu_online(cpu);
}
for_each_cpu(cpu, new_isolated_mask) {
if (!cpu_ishk(cpu))
continue;
cpu_offline(cpu);
clear_cpu_in_hkmask(cpu);
cpu_online(cpu);
}
Or something like that. You get the idea, right?
IOW, the only kernel change which is required to achieve your goal is to
ensure that changing the housekeeping/isolated property of a CPU at
runtime is only possible when the CPU is "offline".
Then all of the magic things you try to solve just work out of the box
because the existing and well exercised hotplug code takes care of it
already, no?
I might be missing something obvious as always, so feel free to educate
me on it.
Thanks,
tglx
Powered by blists - more mailing lists