linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.cz>
To: Glauber Costa <glommer@parallels.com>
Cc: Michel Lespinasse <walken@google.com>, Tejun Heo <tj@kernel.org>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Balbir Singh <bsingharora@gmail.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	cgroups@vger.kernel.org, linux-mm@kvack.org,
	Hugh Dickins <hughd@google.com>, Ying Han <yinghan@google.com>,
	Greg Thelen <gthelen@google.com>
Subject: Re: memcg: softlimit on internal nodes
Date: Tue, 23 Apr 2013 13:40:20 +0200	[thread overview]
Message-ID: <20130423114020.GC8001@dhcp22.suse.cz> (raw)
In-Reply-To: <51765FB2.3070506@parallels.com>

On Tue 23-04-13 14:17:22, Glauber Costa wrote:
> On 04/23/2013 01:58 PM, Michel Lespinasse wrote:
> > On Mon, Apr 22, 2013 at 8:54 AM, Michal Hocko <mhocko@suse.cz> wrote:
> >> On Mon 22-04-13 08:46:20, Tejun Heo wrote:
> >>> Oh, if so, I'm happy.  Sorry about being brash on the thread; however,
> >>> please talk with google memcg people.  They have very different
> >>> interpretation of what "softlimit" is and are using it according to
> >>> that interpretation.  If it *is* an actual soft limit, there is no
> >>> inherent isolation coming from it and that should be clear to
> >>> everyone.
> >>
> >> We have discussed that for a long time. I will not speak for Greg & Ying
> >> but from my POV we have agreed that the current implementation will work
> >> for them with some (minor) changes in their layout.
> >> As I have said already with a careful configuration (e.i. setting the
> >> soft limit only where it matters - where it protects an important
> >> memory which is usually in the leaf nodes)
> > 
> > I don't like your argument that soft limits work if you only set them
> > on leaves. To me this is just a fancy way of saying that hierarchical
> > soft limits don't work.
> > 
> > Also it is somewhat problematic to assume that important memory can
> > easily be placed in leaves. This is difficult to ensure when
> > subcontainer destruction, for example, moves the memory back into the
> > parent.
> > 
> 
> Michal,
> 
> For the most part, I am siding with you in this discussion.
> But with this only-in-leaves thing, I am forced to flip (at least for this).
> 
> You are right when you say that in a configuration with A being parent
> of B and C, A being over its hard limit will affect reclaim in B and C,
> and soft limits should work the same.
> 
> However, "will affect reclaim" is a big vague. More specifically, if the
> sum of B and C's hard limit is smaller or equal A's hard limit, the only
> way of either B or C to trigger A's hard limit is for them, themselves,
> to go over their hard limit.

Which is an expectation that you cannot guarantee. You can have B+C>A.

> *This* is the case you you are breaking when you try to establish a
> comparison between soft and hard limits - which is, per se, sane.
> 
> Translating this to the soft limit speech, if the sum of B and C's soft
> limit is smaller or equal A's soft limit, and one of them is over the
> soft limit, that one should be reclaimed. The other should be left alone.

And yet again. Nothing will prevent you from setting B+C>A. Sure if you
configure your hierarchy sanely then everything will just work.

> I understand perfectly fine that soft limit is a best effort, not a
> guarantee. But if we don't do that, I understand that we are doing
> effort, not best effort.
> 
> This would only be attempted in our first pass. In the second pass, we
> reclaim from whoever.
> 
> It is also not that hard to do it: Flatten the tree in a list, with the
> leaves always being placed before the inner nodes.

Glauber, I have already pointed out that bottom-up reclaim doesn't make
much sense because it is a bigger chance that useful data is stored in
the leaf nodes rather than inner nodes which usually contain mostly
reparented pages.

> Start reclaiming from nodes over the soft limit, hierarchically. This
> means that whenever we reach an inner node and it is *still* over
> the soft limit, we are guaranteed to have scanned their children
> already. In the case I described, the children over its soft limit
> would have been reclaimed, without the well behaving children being
> touched. Now all three are okay.
> 
> If we reached an inner node and we still have a soft limit problem, then
> we are effectively talking about the case you have been describing.
> Reclaim from whoever you want.
-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2013-04-23 11:40 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-20  0:26 memcg: softlimit on internal nodes Tejun Heo
2013-04-20  0:42 ` Tejun Heo
2013-04-20  3:35   ` Greg Thelen
2013-04-21  1:53     ` Tejun Heo
2013-04-20  3:16 ` Michal Hocko
2013-04-21  2:23   ` Tejun Heo
2013-04-21  8:55     ` Michel Lespinasse
2013-04-22  4:24       ` Tejun Heo
2013-04-22  7:14         ` Michel Lespinasse
2013-04-22 14:48           ` Tejun Heo
2013-04-22 15:37         ` Michal Hocko
2013-04-22 15:46           ` Tejun Heo
2013-04-22 15:54             ` Michal Hocko
2013-04-22 16:01               ` Tejun Heo
2013-04-23  9:58               ` Michel Lespinasse
2013-04-23 10:17                 ` Glauber Costa
2013-04-23 11:40                   ` Michal Hocko [this message]
2013-04-23 11:54                     ` Glauber Costa
2013-04-23 12:51                     ` Michel Lespinasse
2013-04-23 13:06                       ` Michal Hocko
2013-04-23 13:13                         ` Glauber Costa
2013-04-23 13:28                           ` Michal Hocko
2013-04-23 11:32                 ` Michal Hocko
2013-04-23 12:45                   ` Michel Lespinasse
2013-04-23 12:59                     ` Michal Hocko
2013-04-23 12:51                 ` Michal Hocko
2013-04-21 12:46     ` Michal Hocko
2013-04-22  4:39       ` Tejun Heo
2013-04-22 15:19         ` Michal Hocko
2013-04-22 15:57           ` Tejun Heo
2013-04-22 15:57             ` Tejun Heo
2013-04-22 16:20             ` Michal Hocko
2013-04-22 18:30               ` Tejun Heo
2013-04-23  9:29                 ` Michal Hocko
2013-04-23 17:09                   ` Tejun Heo
2013-04-26 11:51                     ` Michal Hocko
2013-04-26 18:37                       ` Tejun Heo
2013-04-29 15:27                         ` Michal Hocko
2013-04-23  9:33                 ` [RFC v2 0/4] soft limit rework Michal Hocko
2013-04-23  9:33                   ` [RFC v2 1/4] memcg: integrate soft reclaim tighter with zone shrinking code Michal Hocko
2013-04-23  9:33                   ` [RFC v2 2/4] memcg: Get rid of soft-limit tree infrastructure Michal Hocko
2013-04-23  9:33                   ` [RFC v2 3/4] vmscan, memcg: Do softlimit reclaim also for targeted reclaim Michal Hocko
2013-04-23  9:33                   ` [RFC v2 4/4] memcg: Ignore soft limit until it is explicitly specified Michal Hocko
2013-04-24 21:45                 ` memcg: softlimit on internal nodes Johannes Weiner
2013-04-25  0:33                   ` Tejun Heo
2013-04-29 18:39                     ` 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=20130423114020.GC8001@dhcp22.suse.cz \
    --to=mhocko@suse.cz \
    --cc=bsingharora@gmail.com \
    --cc=cgroups@vger.kernel.org \
    --cc=glommer@parallels.com \
    --cc=gthelen@google.com \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-mm@kvack.org \
    --cc=tj@kernel.org \
    --cc=walken@google.com \
    --cc=yinghan@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).