Re: [PATCHSET] kernfs, cgroup: reimplement "cgroup.procs" reading for v2

From: Tejun Heo
Date: Tue Dec 27 2016 - 15:01:04 EST

On Tue, Dec 20, 2016 at 11:12:17AM -0500, 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.

Applied to cgroup/for-4.11.