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