From: Johannes Weiner <hannes@cmpxchg.org>
To: Michal Hocko <mhocko@suse.cz>
Cc: Mel Gorman <mgorman@suse.de>,
linux-mm@kvack.org, Ying Han <yinghan@google.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Rik van Riel <riel@redhat.com>, Hugh Dickins <hughd@google.com>,
Glauber Costa <glommer@parallels.com>
Subject: Re: [RFC 1/3] memcg: integrate soft reclaim tighter with zone shrinking code
Date: Sun, 14 Apr 2013 10:55:32 -0400 [thread overview]
Message-ID: <20130414145532.GB5701@cmpxchg.org> (raw)
In-Reply-To: <20130414143420.GA6478@dhcp22.suse.cz>
On Sun, Apr 14, 2013 at 07:34:20AM -0700, Michal Hocko wrote:
> On Sun 14-04-13 01:42:52, Mel Gorman wrote:
> > On Tue, Apr 09, 2013 at 02:13:13PM +0200, Michal Hocko wrote:
> > > @@ -1961,6 +1973,13 @@ static void shrink_zone(struct zone *zone, struct scan_control *sc)
> > > do {
> > > struct lruvec *lruvec;
> > >
> > > + if (soft_reclaim &&
> > > + !mem_cgroup_soft_reclaim_eligible(memcg)) {
> > > + memcg = mem_cgroup_iter(root, memcg, &reclaim);
> > > + continue;
> > > + }
> > > +
> >
> > Calling mem_cgroup_soft_reclaim_eligible means we do multiple searches
> > of the hierarchy while ascending the hierarchy. It's a stretch but it
> > may be a problem for very deep hierarchies.
>
> I think it shouldn't be a problem for hundreds of memcgs and I am quite
> sceptical about such configurations for other reasons (e.g. charging
> overhead). And we are in the reclaim path so this is hardly a hot path
> (unlike the chargin). So while this might turn out to be a real problem
> we would need to fix other parts as well with higher priority.
>
> > Would it be worth having mem_cgroup_soft_reclaim_eligible return what
> > the highest parent over its soft limit was and stop the iterator when
> > the highest parent is reached? I think this would avoid calling
> > mem_cgroup_soft_reclaim_eligible multiple times.
>
> This is basically what the original implementation did and I think it is
> not the right way to go. First why should we care who is the most
> exceeding group. We should treat them equally if the there is no special
> reason to not do so. And I do not see such a special reason. Besides
> that keeping a exceed sorted data structure of memcgs turned out quite a
> lot of code. Note that the later patch integrate soft reclaim into
> targeted reclaim which would mean that we would have to keep such a
> list/tree per memcg.
I think what Mel suggests is not to return the highest excessor, but
return the highest parent in the hierarchy that is in excess. Once
you have this parent, you know that all children are in excess,
without looking them up individually.
However, that parent is not necessarily the root of the hierarchy that
is being reclaimed and you might have multiple of such sub-hierarchies
in excess. To handle all the corner cases, I'd expect the
relationship checking to get really complicated.
--
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>
next prev parent reply other threads:[~2013-04-14 14:56 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-09 12:13 [RFC 0/3] soft reclaim rework Michal Hocko
2013-04-09 12:13 ` [RFC 1/3] memcg: integrate soft reclaim tighter with zone shrinking code Michal Hocko
2013-04-09 13:08 ` Johannes Weiner
2013-04-09 13:31 ` Michal Hocko
2013-04-09 13:57 ` Glauber Costa
2013-04-09 14:22 ` Michal Hocko
2013-04-09 16:45 ` Kamezawa Hiroyuki
2013-04-09 17:05 ` Michal Hocko
2013-04-14 0:42 ` Mel Gorman
2013-04-14 14:34 ` Michal Hocko
2013-04-14 14:55 ` Johannes Weiner [this message]
2013-04-14 15:04 ` Michal Hocko
2013-04-14 15:11 ` Michal Hocko
2013-04-14 18:03 ` Rik van Riel
2013-04-09 12:13 ` [RFC 2/3] memcg: Ignore soft limit until it is explicitly specified Michal Hocko
2013-04-09 13:24 ` Johannes Weiner
2013-04-09 13:42 ` Michal Hocko
2013-04-09 17:10 ` Kamezawa Hiroyuki
2013-04-09 17:22 ` Michal Hocko
2013-04-09 12:13 ` [RFC 3/3] vmscan, memcg: Do softlimit reclaim also for targeted reclaim Michal Hocko
2013-04-22 2:14 ` Michal Hocko
2013-04-09 15:37 ` [RFC 0/3] soft reclaim rework Michal Hocko
2013-04-09 15:50 ` Michal Hocko
2013-04-11 8:43 ` Michal Hocko
2013-04-11 9:07 ` Michal Hocko
2013-04-11 13:04 ` Michal Hocko
2013-04-17 22:52 ` 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=20130414145532.GB5701@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=glommer@parallels.com \
--cc=hughd@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@suse.cz \
--cc=riel@redhat.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