diff options
| author | Waiman Long <longman@redhat.com> | 2026-02-21 13:54:17 -0500 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-02-23 10:42:11 -1000 |
| commit | 6df415aa46ec10d607da5063d88492a7c7762074 (patch) | |
| tree | 397e8609732e6fa9c02e3ad8baa1f8e66e442ad6 /include/linux/kernel.h | |
| parent | 3bfe47967191f42d17510713b31a47d9284b8c5a (diff) | |
cgroup/cpuset: Defer housekeeping_update() calls from CPU hotplug to workqueue
The cpuset_handle_hotplug() may need to invoke housekeeping_update(),
for instance, when an isolated partition is invalidated because its
last active CPU has been put offline.
As we are going to enable dynamic update to the nozh_full housekeeping
cpumask (HK_TYPE_KERNEL_NOISE) soon with the help of CPU hotplug,
allowing the CPU hotplug path to call into housekeeping_update() directly
from update_isolation_cpumasks() will likely cause deadlock. So we
have to defer any call to housekeeping_update() after the CPU hotplug
operation has finished. This is now done via the workqueue where
the update_hk_sched_domains() function will be invoked via the
hk_sd_workfn().
An concurrent cpuset control file write may have executed the required
update_hk_sched_domains() function before the work function is called. So
the work function call may become a no-op when it is invoked.
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/linux/kernel.h')
0 files changed, 0 insertions, 0 deletions
