[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200806211603.195727c03995c3a25ffc6d76@linux-foundation.org>
Date: Thu, 6 Aug 2020 21:16:03 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Michal Koutný <mkoutny@...e.com>
Cc: Roman Gushchin <guro@...com>, Dennis Zhou <dennis@...nel.org>,
Tejun Heo <tj@...nel.org>, Christoph Lameter <cl@...ux.com>,
Johannes Weiner <hannes@...xchg.org>,
Michal Hocko <mhocko@...nel.org>,
Shakeel Butt <shakeelb@...gle.com>, linux-mm@...ck.org,
kernel-team@...com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 4/5] mm: memcg: charge memcg percpu memory to the
parent cgroup
On Wed, 29 Jul 2020 19:10:39 +0200 Michal Koutný <mkoutny@...e.com> wrote:
> Hello.
>
> On Tue, Jun 23, 2020 at 11:45:14AM -0700, Roman Gushchin <guro@...com> wrote:
> > Because the size of memory cgroup internal structures can dramatically
> > exceed the size of object or page which is pinning it in the memory, it's
> > not a good idea to simple ignore it. It actually breaks the isolation
> > between cgroups.
> No doubt about accounting the memory if it's significant amount.
>
> > Let's account the consumed percpu memory to the parent cgroup.
> Why did you choose charging to the parent of the created cgroup?
>
> Should the charge go the cgroup _that is creating_ the new memcg?
>
> One reason is that there are the throttling mechanisms for memory limits
> and those are better exercised when the actor and its memory artefact
> are the same cgroup, aren't they?
>
> The second reason is based on the example Dlegation Containment
> (Documentation/admin-guide/cgroup-v2.rst)
>
> > For an example, let's assume cgroups C0 and C1 have been delegated to
> > user U0 who created C00, C01 under C0 and C10 under C1 as follows and
> > all processes under C0 and C1 belong to U0::
> >
> > ~~~~~~~~~~~~~ - C0 - C00
> > ~ cgroup ~ \ C01
> > ~ hierarchy ~
> > ~~~~~~~~~~~~~ - C1 - C10
>
> Thanks to permissions a task running in C0 creating a cgroup in C1 would
> deplete C1's supply victimizing tasks inside C1.
These week-old issues appear to be significant. Roman? Or someone
else?
Powered by blists - more mailing lists