Hello Michael,

On Wed, Jan 10, 2018 at 05:23:32AM +0100, Michael Kerrisk (man-pages) wrote:
> Hello Roman,
> 
> On 8 January 2018 at 22:11, Michael Kerrisk (man-pages)
> <mtk.manpa...@gmail.com> wrote:
> > Hello Roman,
> >
> > I wrote cgroups(7) text below to document the files added by you in
> > Linux 4.15. Could you let me know if the following text is okay please:
> >
> >    /sys/kernel/cgroup files
> >        /sys/kernel/cgroup/delegate (since Linux 4.15)
> >               This file exports a list of the cgroups v2 files  (one  per
> >               line) that are delegatable (i.e., whose ownership should be
> >               changed to the user ID of the delegatee).  In  the  future,
> >               the  set  of delegatable files may change or grow, and this
> >               file provides a way for the  kernel  to  inform  user-space
> >               applications of which files must be delegated.  As at Linux
> >               4.15, one sees the following when inspecting this file:
> >
> >                   $ cat /sys/kernel/cgroup/delegate
> >                   cgroup.procs
> >                   cgroup.subtree_control
> 
> I have a question about /sys/kernel/cgroup/delegate: why does this
> file not list cgroup.threads, since that is also a file that
> (potentially) should be delegated?

cc Tejun

cgroup.threads is not listed because it's not delegatable (doesn't have
CFTYPE_NS_DELEGATABLE flag set). I don't know if it was intended or just
an accident (I believe the latter).

Thanks!

PS In the latter case the following patch should fix it:

>From fdf19edb6e9594e48e89d4510767b9eb6ca2d9dd Mon Sep 17 00:00:00 2001
From: Roman Gushchin <g...@fb.com>
Date: Wed, 10 Jan 2018 04:35:12 -0800
Subject: [PATCH] cgroup: make cgroup.threads delegatable

Make cgroup.threads file delegatable.
The behavior of cgroup.threads should follow the behavior of cgroup.procs.

Signed-off-by: Roman Gushchin <g...@fb.com>
Discovered-by: Michael Kerrisk <mtk.manpa...@gmail.com>
Cc: Tejun Heo <t...@kernel.org>
---
 kernel/cgroup/cgroup.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 0b1ffe147f24..b74d9ee1425c 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -4449,6 +4449,7 @@ static struct cftype cgroup_base_files[] = {
        },
        {
                .name = "cgroup.threads",
+               .flags = CFTYPE_NS_DELEGATABLE,
                .release = cgroup_procs_release,
                .seq_start = cgroup_threads_start,
                .seq_next = cgroup_procs_next,
-- 
2.14.3

Reply via email to