From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753233AbcLZGXt (ORCPT ); Mon, 26 Dec 2016 01:23:49 -0500 Received: from szxga03-in.huawei.com ([119.145.14.66]:46871 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751092AbcLZGXq (ORCPT ); Mon, 26 Dec 2016 01:23:46 -0500 Subject: Re: [PATCHSET] kernfs, cgroup: reimplement "cgroup.procs" reading for v2 To: Tejun Heo , , References: <20161220161222.15234-1-tj@kernel.org> CC: , , From: Zefan Li Message-ID: <5860B71A.9070006@huawei.com> Date: Mon, 26 Dec 2016 14:22:18 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20161220161222.15234-1-tj@kernel.org> Content-Type: text/plain; charset="gbk" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.19.236] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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