lkml.org 
[lkml]   [2016]   [Dec]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCHSET] kernfs, cgroup: reimplement "cgroup.procs" reading for v2
From
Date
On 2016/12/21 0:12, Tejun Heo wrote:
> On cgroup v1, the pid listings in "cgroup.procs" and "tasks" are
> sorted which adds a lot of complications and overhead. v2 doesn't
> have such requirement and has been intentionally using a modified
> sorting order so that the output doesn't look sorted to users.
>
> This patchset re-implements "cgroup.procs" reading for v2 which simply
> keeps a css_task_iter open while the file is being read. Keeping the
> iterator open makes it unnecessary to skip to the right position on
> each read segment and associated errors - e.g. incorrectly skipping
> over pids because earlier pids disappeared between the reads.
>
> Using persistent iterator across multiple read calls requires
> ->release() callback to clean it up. kernfs operations
> ->open/release() are added and piped through cftype.
>
> This patchset contains the following five patches.
>
> 0001-kernfs-make-kernfs_open_file-mmapped-a-bitfield.patch
> 0002-kernfs-add-kernfs_ops-open-release-callbacks.patch
> 0003-cgroup-add-cftype-open-release-callbacks.patch
> 0004-cgroup-reimplement-reading-cgroup.procs-on-cgroup-v2.patch
> 0005-cgroup-remove-cgroup_pid_fry-and-friends.patch
>
> 0001 is a misc kernfs patch and 0002 adds ->open/release() to kernfs.
> 0003 pipes ->open/release() through cftype. 0004 implements the new
> cgroup.procs for v2 and 0005 removes the now unused sort order frying
> logic.
>
> Greg, would it be okay to route the kernfs patches through
> cgroup/for-4.11?
>
> The patches are also available in the following git branch.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup2-procs
>
> diffstat follows. Thanks.
>
> fs/kernfs/dir.c | 2
> fs/kernfs/file.c | 53 +++++++++++++++--
> fs/kernfs/kernfs-internal.h | 2
> include/linux/cgroup-defs.h | 3 +
> include/linux/kernfs.h | 12 +++-
> kernel/cgroup.c | 130 +++++++++++++++++++++++++++++---------------
> 6 files changed, 148 insertions(+), 54 deletions(-)
>

Acked-by: Zefan Li <lizefan@huawei.com>

\
 
 \ /
  Last update: 2016-12-26 07:24    [W:0.098 / U:0.348 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site