All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.com>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Tejun Heo <tj@kernel.org>, Roman Gushchin <guro@fb.com>,
	linux-mm@kvack.org, cgroups@vger.kernel.org,
	linux-kernel@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH 4/7] cgroup: rstat: support cgroup1
Date: Thu, 4 Feb 2021 17:42:23 +0100	[thread overview]
Message-ID: <YBwj7wC4+mVcx8GO@dhcp22.suse.cz> (raw)
In-Reply-To: <YBwaWkJgqPNF3I3w@cmpxchg.org>

On Thu 04-02-21 11:01:30, Johannes Weiner wrote:
> On Thu, Feb 04, 2021 at 02:39:25PM +0100, Michal Hocko wrote:
> > On Tue 02-02-21 13:47:43, Johannes Weiner wrote:
> > > Rstat currently only supports the default hierarchy in cgroup2. In
> > > order to replace memcg's private stats infrastructure - used in both
> > > cgroup1 and cgroup2 - with rstat, the latter needs to support cgroup1.
> > > 
> > > The initialization and destruction callbacks for regular cgroups are
> > > already in place. Remove the cgroup_on_dfl() guards to handle cgroup1.
> > > 
> > > The initialization of the root cgroup is currently hardcoded to only
> > > handle cgrp_dfl_root.cgrp. Move those callbacks to cgroup_setup_root()
> > > and cgroup_destroy_root() to handle the default root as well as the
> > > various cgroup1 roots we may set up during mounting.
> > > 
> > > The linking of css to cgroups happens in code shared between cgroup1
> > > and cgroup2 as well. Simply remove the cgroup_on_dfl() guard.
> > > 
> > > Linkage of the root css to the root cgroup is a bit trickier: per
> > > default, the root css of a subsystem controller belongs to the default
> > > hierarchy (i.e. the cgroup2 root). When a controller is mounted in its
> > > cgroup1 version, the root css is stolen and moved to the cgroup1 root;
> > > on unmount, the css moves back to the default hierarchy. Annotate
> > > rebind_subsystems() to move the root css linkage along between roots.
> > 
> > I am not familiar with rstat API and from this patch it is not really
> > clear to me how does it deal with memcg v1 use_hierarchy oddness.
> 
> That's gone, right?
> 
> static int mem_cgroup_hierarchy_write(struct cgroup_subsys_state *css,
>                                       struct cftype *cft, u64 val)
> {
>         if (val == 1)
>                 return 0;
> 
>         pr_warn_once("Non-hierarchical mode is deprecated. "
>                      "Please report your usecase to linux-mm@kvack.org if you "
>                      "depend on this functionality.\n");
> 
>         return -EINVAL;
> }

Ohh, right! I have completely forgot it hit the Linus tree.

-- 
Michal Hocko
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko-IBi9RG/b67k@public.gmane.org>
To: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
Cc: Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Roman Gushchin <guro-b10kYP2dOMg@public.gmane.org>,
	linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kernel-team-b10kYP2dOMg@public.gmane.org
Subject: Re: [PATCH 4/7] cgroup: rstat: support cgroup1
Date: Thu, 4 Feb 2021 17:42:23 +0100	[thread overview]
Message-ID: <YBwj7wC4+mVcx8GO@dhcp22.suse.cz> (raw)
In-Reply-To: <YBwaWkJgqPNF3I3w-druUgvl0LCNAfugRpC6u6w@public.gmane.org>

On Thu 04-02-21 11:01:30, Johannes Weiner wrote:
> On Thu, Feb 04, 2021 at 02:39:25PM +0100, Michal Hocko wrote:
> > On Tue 02-02-21 13:47:43, Johannes Weiner wrote:
> > > Rstat currently only supports the default hierarchy in cgroup2. In
> > > order to replace memcg's private stats infrastructure - used in both
> > > cgroup1 and cgroup2 - with rstat, the latter needs to support cgroup1.
> > > 
> > > The initialization and destruction callbacks for regular cgroups are
> > > already in place. Remove the cgroup_on_dfl() guards to handle cgroup1.
> > > 
> > > The initialization of the root cgroup is currently hardcoded to only
> > > handle cgrp_dfl_root.cgrp. Move those callbacks to cgroup_setup_root()
> > > and cgroup_destroy_root() to handle the default root as well as the
> > > various cgroup1 roots we may set up during mounting.
> > > 
> > > The linking of css to cgroups happens in code shared between cgroup1
> > > and cgroup2 as well. Simply remove the cgroup_on_dfl() guard.
> > > 
> > > Linkage of the root css to the root cgroup is a bit trickier: per
> > > default, the root css of a subsystem controller belongs to the default
> > > hierarchy (i.e. the cgroup2 root). When a controller is mounted in its
> > > cgroup1 version, the root css is stolen and moved to the cgroup1 root;
> > > on unmount, the css moves back to the default hierarchy. Annotate
> > > rebind_subsystems() to move the root css linkage along between roots.
> > 
> > I am not familiar with rstat API and from this patch it is not really
> > clear to me how does it deal with memcg v1 use_hierarchy oddness.
> 
> That's gone, right?
> 
> static int mem_cgroup_hierarchy_write(struct cgroup_subsys_state *css,
>                                       struct cftype *cft, u64 val)
> {
>         if (val == 1)
>                 return 0;
> 
>         pr_warn_once("Non-hierarchical mode is deprecated. "
>                      "Please report your usecase to linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org if you "
>                      "depend on this functionality.\n");
> 
>         return -EINVAL;
> }

Ohh, right! I have completely forgot it hit the Linus tree.

-- 
Michal Hocko
SUSE Labs

  reply	other threads:[~2021-02-04 16:45 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-02 18:47 [PATCH 0/7]: mm: memcontrol: switch to rstat Johannes Weiner
2021-02-02 18:47 ` Johannes Weiner
2021-02-02 18:47 ` [PATCH 1/7] mm: memcontrol: fix cpuhotplug statistics flushing Johannes Weiner
2021-02-02 18:47   ` Johannes Weiner
2021-02-02 22:23   ` Shakeel Butt
2021-02-02 22:23     ` Shakeel Butt
2021-02-02 22:23     ` Shakeel Butt
2021-02-02 23:07   ` Roman Gushchin
2021-02-02 23:07     ` Roman Gushchin
2021-02-03  2:28     ` Roman Gushchin
2021-02-03  2:28       ` Roman Gushchin
2021-02-04 19:29       ` Johannes Weiner
2021-02-04 19:29         ` Johannes Weiner
2021-02-04 19:34         ` Roman Gushchin
2021-02-04 19:34           ` Roman Gushchin
2021-02-05 17:50           ` Johannes Weiner
2021-02-05 17:50             ` Johannes Weiner
2021-02-04 13:28   ` Michal Hocko
2021-02-04 13:28     ` Michal Hocko
2021-02-02 18:47 ` [PATCH 2/7] mm: memcontrol: kill mem_cgroup_nodeinfo() Johannes Weiner
2021-02-02 18:47   ` Johannes Weiner
2021-02-02 22:24   ` Shakeel Butt
2021-02-02 22:24     ` Shakeel Butt
2021-02-02 22:24     ` Shakeel Butt
2021-02-02 23:13   ` Roman Gushchin
2021-02-02 23:13     ` Roman Gushchin
2021-02-04 13:29   ` Michal Hocko
2021-02-04 13:29     ` Michal Hocko
2021-02-02 18:47 ` [PATCH 3/7] mm: memcontrol: privatize memcg_page_state query functions Johannes Weiner
2021-02-02 18:47   ` Johannes Weiner
2021-02-02 22:26   ` Shakeel Butt
2021-02-02 22:26     ` Shakeel Butt
2021-02-02 23:17   ` Roman Gushchin
2021-02-02 23:17     ` Roman Gushchin
2021-02-04 13:30   ` Michal Hocko
2021-02-04 13:30     ` Michal Hocko
2021-02-02 18:47 ` [PATCH 4/7] cgroup: rstat: support cgroup1 Johannes Weiner
2021-02-02 18:47   ` Johannes Weiner
2021-02-03  1:16   ` Roman Gushchin
2021-02-03  1:16     ` Roman Gushchin
2021-02-04 13:39   ` Michal Hocko
2021-02-04 13:39     ` Michal Hocko
2021-02-04 16:01     ` Johannes Weiner
2021-02-04 16:01       ` Johannes Weiner
2021-02-04 16:42       ` Michal Hocko [this message]
2021-02-04 16:42         ` Michal Hocko
2021-02-02 18:47 ` [PATCH 5/7] cgroup: rstat: punt root-level optimization to individual controllers Johannes Weiner
2021-02-02 18:47   ` Johannes Weiner
2021-02-02 18:47 ` [PATCH 6/7] mm: memcontrol: switch to rstat Johannes Weiner
2021-02-02 18:47   ` Johannes Weiner
2021-02-03  1:47   ` Roman Gushchin
2021-02-03  1:47     ` Roman Gushchin
2021-02-04 16:26     ` Johannes Weiner
2021-02-04 16:26       ` Johannes Weiner
2021-02-04 18:45       ` Roman Gushchin
2021-02-04 18:45         ` Roman Gushchin
2021-02-04 20:05         ` Johannes Weiner
2021-02-04 20:05           ` Johannes Weiner
2021-02-04 14:19   ` Michal Hocko
2021-02-04 14:19     ` Michal Hocko
2021-02-04 16:15     ` Johannes Weiner
2021-02-04 16:44       ` Michal Hocko
2021-02-04 16:44         ` Michal Hocko
2021-02-04 20:28         ` Johannes Weiner
2021-02-04 20:28           ` Johannes Weiner
2021-02-05 15:05   ` Michal Hocko
2021-02-05 15:05     ` Michal Hocko
2021-02-05 16:34     ` Johannes Weiner
2021-02-05 16:34       ` Johannes Weiner
2021-02-08 14:07       ` Michal Hocko
2021-02-08 14:07         ` Michal Hocko
2021-02-02 18:47 ` [PATCH 7/7] mm: memcontrol: consolidate lruvec stat flushing Johannes Weiner
2021-02-03  2:25   ` Roman Gushchin
2021-02-03  2:25     ` Roman Gushchin
2021-02-04 21:44     ` Johannes Weiner
2021-02-04 21:44       ` Johannes Weiner
2021-02-04 21:47       ` Roman Gushchin
2021-02-04 21:47         ` Roman Gushchin
2021-02-05 15:17   ` Michal Hocko
2021-02-05 15:17     ` Michal Hocko
2021-02-05 17:10     ` Johannes Weiner
2021-02-05 17:10       ` Johannes Weiner

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=YBwj7wC4+mVcx8GO@dhcp22.suse.cz \
    --to=mhocko@suse.com \
    --cc=akpm@linux-foundation.org \
    --cc=cgroups@vger.kernel.org \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=tj@kernel.org \
    /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.