From: Tejun Heo <tj@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Chengming Zhou <zhouchengming@bytedance.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Imran Khan <imran.f.khan@oracle.com>,
kernel-team@fb.com
Subject: [PATCHSET v2 for-6.1] kernfs, cgroup: implement kernfs_show() and cgroup_file_show()
Date: Sat, 27 Aug 2022 19:04:31 -1000 [thread overview]
Message-ID: <20220828050440.734579-1-tj@kernel.org> (raw)
Hello,
Greg: If this looks good to you, can you apply 0001-0008 to your tree? I'll
likely have more cgroup updates on top, so I think it'd be better if I pull
your tree and then handle the cgroup part in cgroup tree.
Currently, deactivated kernfs nodes are used for two purposes - during
removal to kill and drain nodes and during creation to make multiple
kernfs_nodes creations to succeed or fail as a group.
This patchset implements kernfs_show() which can dynamically show and hide
kernfs_nodes using the [de]activation mechanisms, and, on top, implements
cgroup_file_show() which allows toggling cgroup file visiblity.
This is for the following pending patchset to allow disabling PSI on
per-cgroup basis:
https://lore.kernel.org/all/20220808110341.15799-1-zhouchengming@bytedance.com/t/#u
which requires hiding the corresponding cgroup interface files while
disabled.
This patchset contains the following nine patches.
0001-kernfs-Simply-by-replacing-kernfs_deref_open_node-wi.patch
0002-kernfs-Drop-unnecessary-mutex-local-variable-initial.patch
0003-kernfs-Refactor-kernfs_get_open_node.patch
0004-kernfs-Skip-kernfs_drain_open_files-more-aggressivel.patch
0005-kernfs-Improve-kernfs_drain-and-always-call-on-remov.patch
0006-kernfs-Add-KERNFS_REMOVING-flags.patch
0007-kernfs-Factor-out-kernfs_activate_one.patch
0008-kernfs-Implement-kernfs_show.patch
0009-cgroup-Implement-cgroup_file_show.patch
0001-0003 are misc prep patches. 0004-0008 implement kernsf_deactivate().
0009 implements cgroup_file_show() on top. The patches are also available in
the following git branch:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git kernfs-show
The main difference from the previous version[1] is that while show/hide
still use the same mechanism as [de]activation, their states are tracked
separately so that e.g. an unrelated kernfs_activate() higher up in the tree
doesn't interfere with hidden nodes in the subtree.
diffstat follows. Thanks.
fs/kernfs/dir.c | 102 +++++++++++++++++++++++++++++++----------------
fs/kernfs/file.c | 151 +++++++++++++++++++++++++++++++++-------------------------------------
fs/kernfs/kernfs-internal.h | 1
include/linux/cgroup.h | 1
include/linux/kernfs.h | 3 +
kernel/cgroup/cgroup.c | 20 +++++++++
6 files changed, 166 insertions(+), 112 deletions(-)
--
tejun
[1] http://lkml.kernel.org/r/20220820000550.367085-1-tj@kernel.org
next reply other threads:[~2022-08-28 5:04 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-28 5:04 Tejun Heo [this message]
2022-08-28 5:04 ` [PATCH 1/9] kernfs: Simply by replacing kernfs_deref_open_node() with of_on() Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 5:04 ` [PATCH 2/9] kernfs: Drop unnecessary "mutex" local variable initialization Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 5:04 ` [PATCH 3/9] kernfs: Refactor kernfs_get_open_node() Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 5:04 ` [PATCH 4/9] kernfs: Skip kernfs_drain_open_files() more aggressively Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 5:04 ` [PATCH 5/9] kernfs: Improve kernfs_drain() and always call on removal Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 5:04 ` [PATCH 6/9] kernfs: Add KERNFS_REMOVING flags Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 5:04 ` [PATCH 7/9] kernfs: Factor out kernfs_activate_one() Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 5:04 ` [PATCH 8/9] kernfs: Implement kernfs_show() Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 5:04 ` [PATCH 9/9] cgroup: Implement cgroup_file_show() Tejun Heo
2022-09-09 14:00 ` [tip: sched/psi] " tip-bot2 for Tejun Heo
2022-08-28 8:33 ` [PATCHSET v2 for-6.1] kernfs, cgroup: implement kernfs_show() and cgroup_file_show() Chengming Zhou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220828050440.734579-1-tj@kernel.org \
--to=tj@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hannes@cmpxchg.org \
--cc=imran.f.khan@oracle.com \
--cc=kernel-team@fb.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=zhouchengming@bytedance.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.