Re: [RFC PATCH v2 12/17] cgroup: Remove cgroup v2 no internal process constraint

From: Waiman Long
Date: Wed May 24 2017 - 14:19:18 EST


On 05/24/2017 01:05 PM, Tejun Heo wrote:
> Hello,
>
> On Mon, May 22, 2017 at 12:56:08PM -0400, Waiman Long wrote:
>> All controllers can use the special sub-directory if userland chooses to
>> do so. The problem that I am trying to address in this patch is to allow
>> more natural hierarchy that reflect a certain purpose, like the task
>> classification done by systemd. Restricting tasks only to leaf nodes
>> makes the hierarchy unnatural and probably difficult to manage.
> I see but how is this different from userland just creating the leaf
> cgroup? I'm not sure what this actually enables in terms of what can
> be achieved with cgroup. I suppose we can argue that this is more
> convenient but I'd like to keep the interface orthogonal as much as
> reasonably possible.
>
> Thanks.
>
I am just thinking that it is a bit more natural with the concept of the
special resource domain sub-directory. You are right that the same
effect can be achieved by proper placement of tasks and enabling of
controllers.

A (cpu,memory) [T1] - B(cpu,memory) [T2]
\ cgroups.resource_domain (memory)

A (cpu,memory) - B(cpu,memory) [T2]
\ C (memory) [T1]

With respect to the tasks T1 and T2, the above 2 configurations are the
same.

I am OK to drop this patch. However, I still think the current
no-internal process constraint is too restricting. I will suggest either

1. Allow internal processes and document the way to avoid internal
process competition as shown above from the userland, or
2. Mark only certain controllers as not allowing internal processes
when they are enabled.

What do you think about this?

Cheers,
Longman