From: Frederic Weisbecker <frederic@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Gabriele Monaco <gmonaco@redhat.com>,
linux-kernel@vger.kernel.org,
Anna-Maria Behnsen <anna-maria@linutronix.de>,
Waiman Long <longman@redhat.com>,
"John B. Wyatt IV" <jwyatt@redhat.com>,
"John B. Wyatt IV" <sageofredondo@gmail.com>
Subject: Re: [PATCH v15 7/7] timers: Exclude isolated cpus from timer migration
Date: Wed, 19 Nov 2025 18:14:14 +0100 [thread overview]
Message-ID: <aR365nLI26Ck6lkY@localhost.localdomain> (raw)
In-Reply-To: <87pl9eklvc.ffs@tglx>
Le Wed, Nov 19, 2025 at 05:50:15PM +0100, Thomas Gleixner a écrit :
> On Thu, Nov 13 2025 at 09:33, Gabriele Monaco wrote:
> > - cpumask_clear_cpu(cpu, tmigr_available_cpumask);
>
> By removing this the function name does not make any sense any
> more. Splitting the cpumask_clear_set() out, renaming the function
>
> > scoped_guard(raw_spinlock_irq, &tmc->lock) {
> > + if (!tmc->available)
> > + return 0;
>
> and adding this
>
> > tmc->available = false;
> > WRITE_ONCE(tmc->wakeup, KTIME_MAX);
> >
> > @@ -1453,11 +1485,11 @@ static int tmigr_clear_cpu_available(unsigned int cpu)
> > }
> >
> > if (firstexp != KTIME_MAX) {
> > - migrator = cpumask_any(tmigr_available_cpumask);
> > + migrator = cpumask_any_but(tmigr_available_cpumask, cpu);
>
> and this should be done in a preparatory patch along with a
> reasonable explanation in the change log.
>
> > work_on_cpu(migrator, tmigr_trigger_active, NULL);
> > }
> >
> > - return 0;
> > + return 1;
>
> But thinking more about it. What's the actual point of moving this 'clear'
> out instead of just moving it further down?
>
> It does not matter at all whether the isol/unisol muck clears an already
> cleared bit or not. But it would keep the function name comprehensible
> and avoid all this online/offline wrapper nonsense.
That was my suggestion.
It's because tmigr_clear_cpu_available() and tmigr_set_cpu_available()
can now all be called concurrently through the workqueues and race and
mess up the cpumask if they all try to clear/set at the same time...
And I couldn't find a saner way to order things...
Thanks.
--
Frederic Weisbecker
SUSE Labs
next prev parent reply other threads:[~2025-11-19 17:14 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-13 8:33 [PATCH v15 0/7] timers: Exclude isolated cpus from timer migration Gabriele Monaco
2025-11-13 8:33 ` [PATCH v15 1/7] timers: Rename tmigr 'online' bit to 'available' Gabriele Monaco
2025-11-19 15:49 ` Thomas Gleixner
2025-11-13 8:33 ` [PATCH v15 2/7] timers: Add the available mask in timer migration Gabriele Monaco
2025-11-19 15:56 ` Thomas Gleixner
2025-11-13 8:33 ` [PATCH v15 3/7] timers: Use scoped_guard when setting/clearing the tmigr available flag Gabriele Monaco
2025-11-19 15:57 ` Thomas Gleixner
2025-11-13 8:33 ` [PATCH v15 4/7] cgroup/cpuset: Rename update_unbound_workqueue_cpumask() to update_isolation_cpumasks() Gabriele Monaco
2025-11-13 8:33 ` [PATCH v15 5/7] sched/isolation: Force housekeeping if isolcpus and nohz_full don't leave any Gabriele Monaco
2025-11-13 8:33 ` [PATCH v15 6/7] cpumask: Add initialiser to use cleanup helpers Gabriele Monaco
2025-11-13 8:33 ` [PATCH v15 7/7] timers: Exclude isolated cpus from timer migration Gabriele Monaco
2025-11-19 16:50 ` Thomas Gleixner
2025-11-19 17:14 ` Frederic Weisbecker [this message]
2025-11-19 18:15 ` Thomas Gleixner
2025-11-19 20:13 ` Frederic Weisbecker
2025-11-19 21:23 ` Thomas Gleixner
2025-11-19 22:02 ` Frederic Weisbecker
2025-11-19 22:10 ` Thomas Gleixner
2025-11-19 22:31 ` Frederic Weisbecker
2025-11-19 20:43 ` Waiman Long
2025-11-20 10:48 ` Gabriele Monaco
2025-11-20 21:04 ` Waiman Long
2025-11-13 13:12 ` [PATCH v15 0/7] " Frederic Weisbecker
2025-11-18 10:01 ` Gabriele Monaco
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aR365nLI26Ck6lkY@localhost.localdomain \
--to=frederic@kernel.org \
--cc=anna-maria@linutronix.de \
--cc=gmonaco@redhat.com \
--cc=jwyatt@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=longman@redhat.com \
--cc=sageofredondo@gmail.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.