Re: [RFC PATCH 6/6] cpuset: Add cpuset.isolation_mask file
From: Frederic Weisbecker <hidden>
Date: 2021-07-19 13:17:11
Also in:
lkml
On Thu, Jul 15, 2021 at 11:04:19AM +0200, Peter Zijlstra wrote:
On Thu, Jul 15, 2021 at 01:13:38AM +0200, Frederic Weisbecker wrote:quoted
On Wed, Jul 14, 2021 at 06:52:43PM +0200, Peter Zijlstra wrote:quoted
quoted
cpusets already has means to create paritions; why are you creating something else?I was about to answer that the semantics of isolcpus, which reference a NULL domain, are different from SD_LOAD_BALANCE implied by cpuset.sched_load_balance. But then I realize that SD_LOAD_BALANCE has been removed. How cpuset.sched_load_balance is implemented then? Commit e669ac8ab952df2f07dee1e1efbf40647d6de332 ("sched: Remove checks against SD_LOAD_BALANCE") advertize that setting cpuset.sched_load_balance to 0 ends up creating NULL domain but that's not what I get. For example if I mount a single cpuset root (no other cpuset mountpoints):SD_LOAD_BALANCE was only for when you wanted to stop balancing inside a domain tree. That no longer happens (and hasn't for a *long* time). Cpusets simply creates multiple domain trees (or the empty one if its just one CPU).
Ok.
quoted
$ mount -t cgroup none ./cpuset -o cpuset $ cd cpuset $ cat cpuset.cpus 0-7 $ cat cpuset.sched_load_balance 1 $ echo 0 > cpuset.sched_load_balance $ ls /sys/kernel/debug/domains/cpu1/ domain0 domain1 I still get the domains on all CPUs...(note, that's the cgroup-v1 interface, the cgroup-v2 interface is significantly different) I'd suggest doing: echo 1 > /debug/sched/verbose, if I do the above I get: [1290784.889705] CPU0 attaching NULL sched-domain. [1290784.894830] CPU1 attaching NULL sched-domain.
Thanks! Eventually I uninstalled cgmanager and things seem to work now. I have no idea why and I'm not sure I'm willing to investigate further :o)