From: Johannes Weiner <hannes@cmpxchg.org>
To: Michal Hocko <mhocko@suse.cz>
Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>,
linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, Hugh Dickins <hughd@google.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Glauber Costa <glommer@parallels.com>
Subject: Re: [PATCH v6 1/7] mm/memcg: scanning_global_lru means mem_cgroup_disabled
Date: Mon, 26 Mar 2012 17:18:15 +0200 [thread overview]
Message-ID: <20120326151815.GA1820@cmpxchg.org> (raw)
In-Reply-To: <20120326150429.GA22754@tiehlicka.suse.cz>
On Mon, Mar 26, 2012 at 05:04:29PM +0200, Michal Hocko wrote:
> [Adding Johannes to CC]
>
> On Fri 23-03-12 01:56:16, Konstantin Khlebnikov wrote:
> > From: Hugh Dickins <hughd@google.com>
> >
> > Although one has to admire the skill with which it has been concealed,
> > scanning_global_lru(mz) is actually just an interesting way to test
> > mem_cgroup_disabled(). Too many developer hours have been wasted on
> > confusing it with global_reclaim(): just use mem_cgroup_disabled().
>
> Is this really correct?
Yes, if the memory controller is enabled, we never have a global LRU
and always scan the per-memcg lists.
> > Signed-off-by: Hugh Dickins <hughd@google.com>
> > Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
> > Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> > Acked-by: Glauber Costa <glommer@parallels.com>
> > ---
> > mm/vmscan.c | 18 ++++--------------
> > 1 files changed, 4 insertions(+), 14 deletions(-)
> >
> > diff --git a/mm/vmscan.c b/mm/vmscan.c
> > index 49f15ef..c684f44 100644
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> [...]
> > @@ -1806,7 +1796,7 @@ static int inactive_anon_is_low(struct mem_cgroup_zone *mz)
> > if (!total_swap_pages)
> > return 0;
> >
> > - if (!scanning_global_lru(mz))
> > + if (!mem_cgroup_disabled())
> > return mem_cgroup_inactive_anon_is_low(mz->mem_cgroup,
> > mz->zone);
>
> mem_cgroup_inactive_anon_is_low calculation is slightly different than
> what we have for cgroup_disabled case. calculate_zone_inactive_ratio
> considers _all_ present pages in the zone while memcg variant only
> active+inactive.
The memcg has nothing to go by but actual number of LRU pages; there
is no 'present pages' equivalent.
I don't think that it matters much in reality given the sqrt scale,
but the difference is still unfortunate. Konstantin was meaning to
unify all this, though.
next prev parent reply other threads:[~2012-03-26 15:18 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-22 21:56 [PATCH v6 0/7] mm: some simple cleanups Konstantin Khlebnikov
2012-03-22 21:56 ` [PATCH v6 1/7] mm/memcg: scanning_global_lru means mem_cgroup_disabled Konstantin Khlebnikov
2012-03-26 15:04 ` Michal Hocko
2012-03-26 15:18 ` Johannes Weiner [this message]
2012-03-26 15:31 ` Michal Hocko
2012-03-26 21:39 ` Hugh Dickins
2012-03-27 7:46 ` Michal Hocko
2012-03-22 21:56 ` [PATCH v6 2/7] mm/memcg: move reclaim_stat into lruvec Konstantin Khlebnikov
2012-03-26 15:16 ` Michal Hocko
2012-03-22 21:56 ` [PATCH v6 3/7] mm: push lru index into shrink_[in]active_list() Konstantin Khlebnikov
2012-03-23 4:48 ` Minchan Kim
2012-03-26 15:39 ` Michal Hocko
2012-03-22 21:56 ` [PATCH v6 4/7] mm: mark mm-inline functions as __always_inline Konstantin Khlebnikov
2012-03-22 21:56 ` [PATCH v6 5/7] mm: remove lru type checks from __isolate_lru_page() Konstantin Khlebnikov
2012-03-23 1:46 ` KAMEZAWA Hiroyuki
2012-03-22 21:56 ` [PATCH v6 6/7] mm/memcg: kill mem_cgroup_lru_del() Konstantin Khlebnikov
2012-03-23 1:48 ` KAMEZAWA Hiroyuki
2012-03-26 15:23 ` Michal Hocko
2012-03-26 16:05 ` Konstantin Khlebnikov
2012-03-22 21:56 ` [PATCH v6 7/7] mm/memcg: use vm_swappiness from target memory cgroup Konstantin Khlebnikov
2012-03-26 15:59 ` Michal Hocko
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=20120326151815.GA1820@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=glommer@parallels.com \
--cc=hughd@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=khlebnikov@openvz.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
/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