Re: [PATCH -next] cpuset: add cpuset1_online_css helper for v1-specific operations
From: Waiman Long
Date: Tue Dec 16 2025 - 10:00:11 EST
On 12/16/25 9:03 AM, Michal Koutný wrote:
On Tue, Dec 16, 2025 at 08:13:53PM +0800, Chen Ridong <chenridong@xxxxxxxxxxxxxxx> wrote:I would suggest defining a "assert_cpuset_lock_held(void)" helper function and put the declaration in include/linux/cpuset.h together with cpuset_lock/unlock() to complete the full set. This will allow other kernel subsystems to acquire the cpuset_mutex and assert that the mutex was held.
Regarding the lock assertions: cpuset_mutex is defined in cpuset.c and is not visible inIt could be un-static'd and defined in cpuset-internal.h. (Hopefully, we
cpuset-v1.c. Given that cpuset v1 is deprecated, would you prefer that we add a helper to assert
cpuset_mutex is locked? Is that worth?
should not end up with random callers of the helper but it's IMO worth
it for docs and greater safety.)
Should we guard with !cpuset_v2() or !is_in_v2mode()?I have no experience with this transitional option so that made me look
In cgroup v1, if the cpuset is operating in v2 mode, are these flags still valid?
at the docs and there we specify it only affects behaviors of CPU masks,
not the extra flags. So I wanted to suggest !cpuset_v2(), correct?
The "cpuset_v2_mode" mount flag is used for making the behavior of cpuset.{cpus,mems}.effective in v1 behave like in v2. It has no effect on other v1 specific control files. So cpuset1_online_css() should only be called if "!cpuset_v2()".
Cheers,
Longman
Thanks,
Michal