From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753329AbeE3NGC (ORCPT ); Wed, 30 May 2018 09:06:02 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:52218 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753265AbeE3NGA (ORCPT ); Wed, 30 May 2018 09:06:00 -0400 X-Google-Smtp-Source: ADUXVKK/C8400AYfCS1VIwYqxvzMfytdlvnGQHjgXMFfWl1tcOqyfrsEL4DE4hd9MN+u0GdgNrTIlw== Date: Wed, 30 May 2018 15:05:55 +0200 From: Juri Lelli To: Waiman Long Cc: Tejun Heo , Li Zefan , Johannes Weiner , Peter Zijlstra , Ingo Molnar , cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kernel-team@fb.com, pjt@google.com, luto@amacapital.net, Mike Galbraith , torvalds@linux-foundation.org, Roman Gushchin , Patrick Bellasi Subject: Re: [PATCH v9 0/7] Enable cpuset controller in default hierarchy Message-ID: <20180530130555.GD3320@localhost.localdomain> References: <1527601294-3444-1-git-send-email-longman@redhat.com> <20180530101317.GB3320@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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