[PATCH 11/33] cpuset: Provide lockdep check for cpuset lock held

Chen Ridong chenridong at huaweicloud.com
Tue Oct 14 06:29:25 PDT 2025



On 2025/10/14 4:31, Frederic Weisbecker wrote:
> cpuset modifies partitions, including isolated, while holding the cpuset
> mutex.
> 
> This means that holding the cpuset mutex is safe to synchronize against
> housekeeping cpumask changes.
> 
> Provide a lockdep check to validate that.
> 
> Signed-off-by: Frederic Weisbecker <frederic at kernel.org>
> ---
>  include/linux/cpuset.h | 2 ++
>  kernel/cgroup/cpuset.c | 7 +++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h
> index 2ddb256187b5..051d36fec578 100644
> --- a/include/linux/cpuset.h
> +++ b/include/linux/cpuset.h
> @@ -18,6 +18,8 @@
>  #include <linux/mmu_context.h>
>  #include <linux/jump_label.h>
>  
> +extern bool lockdep_is_cpuset_held(void);
> +
>  #ifdef CONFIG_CPUSETS
>  
>  /*
> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> index 8595f1eadf23..aa1ac7bcf2ea 100644
> --- a/kernel/cgroup/cpuset.c
> +++ b/kernel/cgroup/cpuset.c
> @@ -279,6 +279,13 @@ void cpuset_full_unlock(void)
>  	cpus_read_unlock();
>  }
>  
> +#ifdef CONFIG_LOCKDEP
> +bool lockdep_is_cpuset_held(void)
> +{
> +	return lockdep_is_held(&cpuset_mutex);
> +}
> +#endif
> +
>  static DEFINE_SPINLOCK(callback_lock);
>  
>  void cpuset_callback_lock_irq(void)

Is the lockdep_is_cpuset_held function actually being used?
If CONFIG_LOCKDEP is disabled, compilation would fail with an "undefined reference to
lockdep_is_cpuset_held" error.

-- 
Best regards,
Ridong




More information about the linux-arm-kernel mailing list