From: Ying Han <yinghan@google.com>
To: Glauber Costa <glommer@parallels.com>
Cc: Michal Hocko <mhocko@suse.cz>, Rik van Riel <riel@redhat.com>,
Johannes Weiner <hannes@cmpxchg.org>, Mel Gorman <mel@csn.ul.ie>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Hillf Danton <dhillf@gmail.com>, Hugh Dickins <hughd@google.com>,
KOSAKI Motohiro <kosaki.motohiro@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mm@kvack.org
Subject: Re: [PATCH V8 1/2] mm: memcg softlimit reclaim rework
Date: Wed, 22 Aug 2012 15:27:55 -0700 [thread overview]
Message-ID: <CALWz4iwtRzO07pU859CaK4Oz2EgziMvSJWRYDhULQ6ZdtR-4xg@mail.gmail.com> (raw)
In-Reply-To: <503354FF.1070809@parallels.com>
[-- Attachment #1: Type: text/plain, Size: 2455 bytes --]
On Tue, Aug 21, 2012 at 2:29 AM, Glauber Costa <glommer@parallels.com>wrote:
> On 08/20/2012 10:30 PM, Ying Han wrote:
> > Not exactly. Here reclaiming from root is mainly for "reclaiming from
> > root's exclusive lru", which links the page includes:
> > 1. processes running under root
> > 2. reparented pages from rmdir memcg under root
> > 3. bypassed pages
> >
> > Setting root cgroup's softlimit = 0 has the implication of putting
> > those pages to likely to reclaim, which works fine. The question is
> > that if no other memcg is above its softlimit, would it be a problem
> > to adding a bit extra pressure to root which always is eligible for
> > softlimit reclaim ( usage is always greater than softlimit).
> >
> > As an example, it works fine in our environment since we don't
> > explicitly put any process under root. Most of the pages linked in
> > root lru would be reparented pages which should be reclaimed prior to
> > others.
>
> Keep in mind that not all environments will be specialized to the point
> of having root memcg empty. This basically treats root memcg as a trash
> bin, and can be very detrimental to use cases where actual memory is
> present in there.
>
> It would maybe be better to have all this garbage to go to a separate
> place, like a shadow garbage memcg, which is invisible to the
> filesystem, and is always the first to be reclaimed from, in any
> circumstance.
>
We can certainly do something like that, and actually we have the *special*
cgroup setup today in google's environment. It is mainly targeting for
pages that are allocated not on behalf of applications, but more of
system maintainess overhead. One example would be kernel thread memory
charging.
In this case, it might make sense to put those reparented pages to
a separate cgroup. However I do wonder with the following questions:
1. it might only make sense to do that if something else running under
root. As we know, root is kind of special in memcg where there is no limit
on it. So I wonder what would be the real life use case to put something
under root?
2. even the reparented pages are mixed together with pages from process
running under root, the LRU mechanism should still take effect of evicting
cold pages first. if the reparent pages are the left-over pages from the
removed cgroups, I would assume they are the candidate to reclaim first.
I am curious that in your environment, do you have things running root?
--Ying
[-- Attachment #2: Type: text/html, Size: 3047 bytes --]
next prev parent reply other threads:[~2012-08-22 22:27 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-02 21:24 Ying Han
2012-08-03 15:22 ` Michal Hocko
2012-08-03 16:16 ` Rik van Riel
2012-08-03 16:34 ` Ying Han
2012-08-06 13:33 ` Michal Hocko
2012-08-17 22:03 ` Ying Han
2012-08-20 8:03 ` Glauber Costa
2012-08-20 18:30 ` Ying Han
2012-08-21 9:29 ` Glauber Costa
2012-08-22 22:27 ` Ying Han [this message]
2012-08-23 7:49 ` Glauber Costa
2012-08-20 13:19 ` Kamezawa Hiroyuki
2012-08-20 18:12 ` Ying Han
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=CALWz4iwtRzO07pU859CaK4Oz2EgziMvSJWRYDhULQ6ZdtR-4xg@mail.gmail.com \
--to=yinghan@google.com \
--cc=akpm@linux-foundation.org \
--cc=dhillf@gmail.com \
--cc=glommer@parallels.com \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kosaki.motohiro@gmail.com \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=mhocko@suse.cz \
--cc=riel@redhat.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