On 30/05/18 08:56, Waiman Long wrote: > On 05/30/2018 06:13 AM, Juri Lelli wrote: > > Hi, > > > > On 29/05/18 09:41, Waiman Long wrote: > >> v9: > >> - Rename cpuset.sched.domain to cpuset.sched.domain_root to better > >> identify its purpose as the root of a new scheduling domain or > >> partition. > >> - Clarify in the document about the purpose of domain_root and > >> load_balance. Using domain_root is th only way to create new > >> partition. > >> - Fix a lockdep warning in update_isolated_cpumask() function. > >> - Add a new patch to eliminate call to generate_sched_domains() for > >> v2 when a change in cpu list does not touch a domain_root. > > I was playing with this and ended up with the situation below: > > > > g1/cgroup.controllers:cpuset > > g1/cgroup.events:populated 0 > > g1/cgroup.max.depth:max > > g1/cgroup.max.descendants:max > > g1/cgroup.stat:nr_descendants 1 > > g1/cgroup.stat:nr_dying_descendants 0 > > g1/cgroup.subtree_control:cpuset > > g1/cgroup.type:domain > > g1/cpuset.cpus:0-5 <--- > > g1/cpuset.cpus.effective:0-5 > > g1/cpuset.mems.effective:0-1 > > g1/cpuset.sched.domain_root:1 <--- > > g1/cpuset.sched.load_balance:1 > > g1/cpu.stat:usage_usec 0 > > g1/cpu.stat:user_usec 0 > > g1/cpu.stat:system_usec 0 > > g1/g11/cgroup.events:populated 0 > > g1/g11/cgroup.max.descendants:max > > g1/g11/cpu.stat:usage_usec 0 > > g1/g11/cpu.stat:user_usec 0 > > g1/g11/cpu.stat:system_usec 0 > > g1/g11/cgroup.type:domain > > g1/g11/cgroup.stat:nr_descendants 0 > > g1/g11/cgroup.stat:nr_dying_descendants 0 > > g1/g11/cpuset.cpus.effective:0-5 > > g1/g11/cgroup.controllers:cpuset > > g1/g11/cpuset.sched.load_balance:1 > > g1/g11/cpuset.mems.effective:0-1 > > g1/g11/cpuset.cpus:6-11 <--- > > g1/g11/cgroup.max.depth:max > > g1/g11/cpuset.sched.domain_root:0 > > > > Should this be allowed? I was expecting subgroup g11 should be > > restricted to a subset of g1's cpus. > > > > Best, > > > > - Juri > > That shouldn't be allowed.The code is probably missing some checks that > should have been done. What was the sequence of commands leading to the > above configuration? This is a E5-2609 v3 (12 cores) Fedora Server box (with systemd, so first command is needed to be able to use cpuset controller with v2, IIUC): # umount /sys/fs/cgroup/cpuset # cd /sys/fs/cgroup/unified/ # echo "+cpuset" >cgroup.subtree_control # mkdir g1 # echo 0-5 >g1/cpuset.cpus # echo 6-11 >init.scope/cpuset.cpus # echo 6-11 >machine.slice/cpuset.cpus # echo 6-11 >system.slice/cpuset.cpus # echo 6-11 >user.slice/cpuset.cpus # echo 1 >g1/cpuset.sched.domain_root # mkdir g1/g11 # echo "+cpuset" > g1/cgroup.subtree_control # echo 6-11 >g1/g11/cpuset.cpus # grep -R . g1/* That should be it. Am I doing something wrong? Thanks, - Juri -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html