Re: [PATCH 03/27] PCI: Protect against concurrent change of housekeeping cpumask
From: Frederic Weisbecker
Date: Thu Jun 26 2025 - 11:05:49 EST
Le Fri, Jun 20, 2025 at 11:17:10AM -0500, Bjorn Helgaas a écrit :
> On Fri, Jun 20, 2025 at 05:22:44PM +0200, Frederic Weisbecker wrote:
> > HK_TYPE_DOMAIN will soon integrate cpuset isolated partitions and
> > therefore be made modifyable at runtime. Synchronize against the cpumask
> > update using appropriate locking.
>
> s/modifyable/modifiable/
>
> > Queue and wait for the PCI call to complete while holding the
> > housekeeping rwsem. This way the housekeeping update side doesn't need
> > to propagate its changes to PCI.
>
> What PCI call are we waiting for? I see housekeeping_lock(), but I
> assume that's doing some housekeeping-related mutual exclusion, not
> waiting for PCI work.
It's waiting for the call to work_on_cpu() to complete (along with
the CPU election through housekeeping_cpumask()).
>
> I don't know how to use housekeeping_lock() or when it's needed. Can
> you add some guidance here and at the housekeeping_lock() definition?
You're right, it's missing documentation, context and guidance. I'll
try to fill that in the next iteration. Also the lock is likely going
to be replaced by RCU instead.
Thanks.
--
Frederic Weisbecker
SUSE Labs