Re: [PATCH v11 7/9] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root
From: Waiman Long
Date: Fri Jul 20 2018 - 11:57:25 EST
On 07/20/2018 11:44 AM, Peter Zijlstra wrote:
> On Fri, Jul 20, 2018 at 04:45:49AM -0700, Tejun Heo wrote:
>
>>>> Hmm... so a given ancestor must be able to both
>>>>
>>>> 1. control which cpus are moved into a partition in all of its
>>>> subtree.
>>> By virtue of the partition file being owned by the parent, this is
>>> already achived, no?
>> The currently proposed implementation is somewhere in the middle. It
>> kinda gets there by restricting a partition to be a child of another
>> partition, which may be okay but it does make the whole delegation
>> mechanism less useful.
> So the implementation does not set ownership of the 'partition' file to
> that of the parent directory? Because _that_ is what I understood from
> Waiman (many versions ago). And that _does_ allow delegation to work
> nicely.
>
>>>> 2. take away any given cpu from ist subtree.
>>> I really hate this obsession of yours and doubly so for partitions. But
>>> why would this currently not be allowed?
>> Well, sorry that you hate it. It's a fundamental architectural
>> constraint. If it can't satisfy that, it should't be in cgroup.
> So is hierarchical behaviour; but you seem willing to forgo that.
>
> Still, the question was, how is this (dispicable or not) behaviour not
> allowed by the current implementation?
The taking CPUs away part is not functioning yet in the current
patchset. It is certainly doable. I just need more time to work on that.
The current patchset is fine if partition is restricted to the first
level children as CPU online/offline is properly handled by the
patchset. It is in the non-root level that taking CPUs away from a
partition can be problematic.
Cheers,
Longman