Re: [PATCH-cgroup 3/4] cgroup/cpuset: Keep track of CPUs in isolated partitions

From: Waiman Long
Date: Wed Oct 18 2023 - 14:24:57 EST


On 10/18/23 14:08, Tejun Heo wrote:
On Wed, Oct 18, 2023 at 09:30:04AM -0400, Waiman Long wrote:
On 10/18/23 05:26, Tejun Heo wrote:
On Fri, Oct 13, 2023 at 02:11:21PM -0400, Waiman Long wrote:
...
@@ -3875,6 +3931,13 @@ static struct cftype dfl_files[] = {
.flags = CFTYPE_ONLY_ON_ROOT | CFTYPE_DEBUG,
},
+ {
+ .name = "cpus.isolated",
+ .seq_show = cpuset_common_seq_show,
+ .private = FILE_ISOLATED_CPULIST,
+ .flags = CFTYPE_ONLY_ON_ROOT | CFTYPE_DEBUG,
+ },
I'd much rather show this in a wq sysfs file along with other related masks,
and not in a DEBUG file.
It can certainly be exposed as a permanent addition to the cgroup control
files instead of a debug only file. However this set of isolated CPUs may be
used by others not just by workqueue. So I doubt if it should be a sysfs
file in the workqueue directory. I can see if it is possible to put a
symlink there point back to the cgroupfs.
I don't know whether it will happen but let's say there will be three
subsystems which call into workqueue for this. Wouldn't it be better to have
all of them in workqueue sysfs using a consistent naming scheme? What does
putting it in cgroupfs buy us?

If you mean saving the exclusion cpumask no matter who the caller is, we can add another exclusion cpumask to save it and expose it to sysfs. This should be done in the first workqueue patch, not as part of this patch. I expose this isolated cpumask for testing purpose to be checked by the test_cpuset_prs.sh script for correctness. As said, I can expose it without cgroup_debug if you think the information is useful in general.

Cheers,
Longman