2023-05-02 13:42:01

by Michal Koutný

[permalink] [raw]
Subject: [RFC PATCH 0/3] Rework locking when rendering mountinfo cgroup paths

Idea for these modification came up when css_set_lock seemed unneeded in
cgroup_show_path.
It's a delicate change, so the deciding factor was when cgroup_show_path popped
up also in some profiles of frequent mountinfo readers.
The idea is to trade the exclusive css_set_lock for the shared
namespace_sem when rendering cgroup paths. Details are described more in
individual commits.

Michal Koutný (3):
cgroup: Drop unused function for cgroup_path
cgroup: Rely on namespace_sem in current_cgns_cgroup_from_root
explicitly
cgroup: Do not take css_set_lock in cgroup_show_path

fs/namespace.c | 5 +++-
include/linux/mount.h | 4 +++
kernel/cgroup/cgroup.c | 58 ++++++++----------------------------------
3 files changed, 18 insertions(+), 49 deletions(-)

--
2.40.1


2023-05-23 12:19:12

by Christian Brauner

[permalink] [raw]
Subject: Re: [RFC PATCH 0/3] Rework locking when rendering mountinfo cgroup paths

On Tue, May 02, 2023 at 03:38:44PM +0200, Michal Koutný wrote:
> Idea for these modification came up when css_set_lock seemed unneeded in
> cgroup_show_path.
> It's a delicate change, so the deciding factor was when cgroup_show_path popped
> up also in some profiles of frequent mountinfo readers.
> The idea is to trade the exclusive css_set_lock for the shared
> namespace_sem when rendering cgroup paths. Details are described more in

I have no issue with the cgroup specific part of relying on
namespace_sem but kernel/cgroup/ has no business of being aware of
namespace semaphore in any way. Leave a comment to clarify what you're
doing but we're not going to sprinkle namespace_sem references - even if
only for the sake of lockdep - into other subsystems.