From: Johannes Weiner <hannes@cmpxchg.org>
To: Ying Han <yinghan@google.com>
Cc: Hiroyuki Kamezawa <kamezawa.hiroyuki@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>,
Balbir Singh <balbir@linux.vnet.ibm.com>,
Michal Hocko <mhocko@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
Rik van Riel <riel@redhat.com>,
Minchan Kim <minchan.kim@gmail.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Mel Gorman <mgorman@suse.de>, Greg Thelen <gthelen@google.com>,
Michel Lespinasse <walken@google.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [patch 0/8] mm: memcg naturalization -rc2
Date: Thu, 2 Jun 2011 09:50:28 +0200 [thread overview]
Message-ID: <20110602075028.GB20630@cmpxchg.org> (raw)
In-Reply-To: <BANLkTi=sYtLGk2_VQLejEU2rQ0JBgg_ZmQ@mail.gmail.com>
On Wed, Jun 01, 2011 at 09:05:18PM -0700, Ying Han wrote:
> On Wed, Jun 1, 2011 at 4:52 PM, Hiroyuki Kamezawa
> <kamezawa.hiroyuki@gmail.com> wrote:
> > 2011/6/1 Johannes Weiner <hannes@cmpxchg.org>:
> >> Hi,
> >>
> >> this is the second version of the memcg naturalization series. The
> >> notable changes since the first submission are:
> >>
> >> o the hierarchy walk is now intermittent and will abort and
> >> remember the last scanned child after sc->nr_to_reclaim pages
> >> have been reclaimed during the walk in one zone (Rik)
> >>
> >> o the global lru lists are never scanned when memcg is enabled
> >> after #2 'memcg-aware global reclaim', which makes this patch
> >> self-sufficient and complete without requiring the per-memcg lru
> >> lists to be exclusive (Michal)
> >>
> >> o renamed sc->memcg and sc->current_memcg to sc->target_mem_cgroup
> >> and sc->mem_cgroup and fixed their documentation, I hope this is
> >> better understandable now (Rik)
> >>
> >> o the reclaim statistic counters have been renamed. there is no
> >> more distinction between 'pgfree' and 'pgsteal', it is now
> >> 'pgreclaim' in both cases; 'kswapd' has been replaced by
> >> 'background'
> >>
> >> o fixed a nasty crash in the hierarchical soft limit check that
> >> happened during global reclaim in memcgs that are hierarchical
> >> but have no hierarchical parents themselves
> >>
> >> o properly implemented the memcg-aware unevictable page rescue
> >> scanner, there were several blatant bugs in there
> >>
> >> o documentation on new public interfaces
> >>
> >> Thanks for your input on the first version.
> >>
> >> I ran microbenchmarks (sparse file catting, essentially) to stress
> >> reclaim and LRU operations. There is no measurable overhead for
> >> !CONFIG_MEMCG, memcg disabled during boot, memcg enabled but no
> >> configured groups, and hard limit reclaim.
> >>
> >> I also ran single-threaded kernbenchs in four unlimited memcgs in
> >> parallel, contained in a hard-limited hierarchical parent that put
> >> constant pressure on the workload. There is no measurable difference
> >> in runtime, the pgpgin/pgpgout counters, and fairness among memcgs in
> >> this test compared to an unpatched kernel. Needs more evaluation,
> >> especially with a higher number of memcgs.
> >>
> >> The soft limit changes are also proven to work in so far that it is
> >> possible to prioritize between children in a hierarchy under pressure
> >> and that runtime differences corresponded directly to the soft limit
> >> settings in the previously described kernbench setup with staggered
> >> soft limits on the groups, but this needs quantification.
> >>
> >> Based on v2.6.39.
> >>
> >
> > Hmm, I welcome and will review this patches but.....some points I want to say.
> >
> > 1. No more conflict with Ying's work ?
> > Could you explain what she has and what you don't in this v2 ?
> > If Ying's one has something good to be merged to your set, please
> > include it.
>
> My patch I sent out last time was doing rework of soft_limit reclaim.
> It convert the RB-tree based to
> a linked list round-robin fashion of all memcgs across their soft
> limit per-zone.
>
> I will apply this patch and try to test it. After that i will get
> better idea whether or not it is being covered here.
Thanks!!
> > 4. This work can be splitted into some small works.
> > a) fix for current code and clean ups
>
> > a') statistics
>
> > b) soft limit rework
>
> > c) change global reclaim
>
> My last patchset starts with a patch reverting the RB-tree
> implementation of the soft_limit
> reclaim, and then the new round-robin implementation comes on the
> following patches.
>
> I like the ordering here, and that is consistent w/ the plan we
> discussed earlier in LSF. Changing
> the global reclaim would be the last step when the changes before that
> have been well understood
> and tested.
>
> Sorry If that is how it is done here. I will read through the patchset.
It's not. The way I implemented soft limits depends on global reclaim
performing hierarchical reclaim. I don't see how I can reverse the
order with this dependency.
WARNING: multiple messages have this Message-ID (diff)
From: Johannes Weiner <hannes@cmpxchg.org>
To: Ying Han <yinghan@google.com>
Cc: Hiroyuki Kamezawa <kamezawa.hiroyuki@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>,
Balbir Singh <balbir@linux.vnet.ibm.com>,
Michal Hocko <mhocko@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
Rik van Riel <riel@redhat.com>,
Minchan Kim <minchan.kim@gmail.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Mel Gorman <mgorman@suse.de>, Greg Thelen <gthelen@google.com>,
Michel Lespinasse <walken@google.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [patch 0/8] mm: memcg naturalization -rc2
Date: Thu, 2 Jun 2011 09:50:28 +0200 [thread overview]
Message-ID: <20110602075028.GB20630@cmpxchg.org> (raw)
In-Reply-To: <BANLkTi=sYtLGk2_VQLejEU2rQ0JBgg_ZmQ@mail.gmail.com>
On Wed, Jun 01, 2011 at 09:05:18PM -0700, Ying Han wrote:
> On Wed, Jun 1, 2011 at 4:52 PM, Hiroyuki Kamezawa
> <kamezawa.hiroyuki@gmail.com> wrote:
> > 2011/6/1 Johannes Weiner <hannes@cmpxchg.org>:
> >> Hi,
> >>
> >> this is the second version of the memcg naturalization series. The
> >> notable changes since the first submission are:
> >>
> >> o the hierarchy walk is now intermittent and will abort and
> >> remember the last scanned child after sc->nr_to_reclaim pages
> >> have been reclaimed during the walk in one zone (Rik)
> >>
> >> o the global lru lists are never scanned when memcg is enabled
> >> after #2 'memcg-aware global reclaim', which makes this patch
> >> self-sufficient and complete without requiring the per-memcg lru
> >> lists to be exclusive (Michal)
> >>
> >> o renamed sc->memcg and sc->current_memcg to sc->target_mem_cgroup
> >> and sc->mem_cgroup and fixed their documentation, I hope this is
> >> better understandable now (Rik)
> >>
> >> o the reclaim statistic counters have been renamed. there is no
> >> more distinction between 'pgfree' and 'pgsteal', it is now
> >> 'pgreclaim' in both cases; 'kswapd' has been replaced by
> >> 'background'
> >>
> >> o fixed a nasty crash in the hierarchical soft limit check that
> >> happened during global reclaim in memcgs that are hierarchical
> >> but have no hierarchical parents themselves
> >>
> >> o properly implemented the memcg-aware unevictable page rescue
> >> scanner, there were several blatant bugs in there
> >>
> >> o documentation on new public interfaces
> >>
> >> Thanks for your input on the first version.
> >>
> >> I ran microbenchmarks (sparse file catting, essentially) to stress
> >> reclaim and LRU operations. There is no measurable overhead for
> >> !CONFIG_MEMCG, memcg disabled during boot, memcg enabled but no
> >> configured groups, and hard limit reclaim.
> >>
> >> I also ran single-threaded kernbenchs in four unlimited memcgs in
> >> parallel, contained in a hard-limited hierarchical parent that put
> >> constant pressure on the workload. There is no measurable difference
> >> in runtime, the pgpgin/pgpgout counters, and fairness among memcgs in
> >> this test compared to an unpatched kernel. Needs more evaluation,
> >> especially with a higher number of memcgs.
> >>
> >> The soft limit changes are also proven to work in so far that it is
> >> possible to prioritize between children in a hierarchy under pressure
> >> and that runtime differences corresponded directly to the soft limit
> >> settings in the previously described kernbench setup with staggered
> >> soft limits on the groups, but this needs quantification.
> >>
> >> Based on v2.6.39.
> >>
> >
> > Hmm, I welcome and will review this patches but.....some points I want to say.
> >
> > 1. No more conflict with Ying's work ?
> > Could you explain what she has and what you don't in this v2 ?
> > If Ying's one has something good to be merged to your set, please
> > include it.
>
> My patch I sent out last time was doing rework of soft_limit reclaim.
> It convert the RB-tree based to
> a linked list round-robin fashion of all memcgs across their soft
> limit per-zone.
>
> I will apply this patch and try to test it. After that i will get
> better idea whether or not it is being covered here.
Thanks!!
> > 4. This work can be splitted into some small works.
> > a) fix for current code and clean ups
>
> > a') statistics
>
> > b) soft limit rework
>
> > c) change global reclaim
>
> My last patchset starts with a patch reverting the RB-tree
> implementation of the soft_limit
> reclaim, and then the new round-robin implementation comes on the
> following patches.
>
> I like the ordering here, and that is consistent w/ the plan we
> discussed earlier in LSF. Changing
> the global reclaim would be the last step when the changes before that
> have been well understood
> and tested.
>
> Sorry If that is how it is done here. I will read through the patchset.
It's not. The way I implemented soft limits depends on global reclaim
performing hierarchical reclaim. I don't see how I can reverse the
order with this dependency.
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-06-02 7:50 UTC|newest]
Thread overview: 214+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-01 6:25 [patch 0/8] mm: memcg naturalization -rc2 Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-01 6:25 ` [patch 1/8] memcg: remove unused retry signal from reclaim Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-01 6:25 ` [patch 2/8] mm: memcg-aware global reclaim Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-02 13:59 ` Hiroyuki Kamezawa
2011-06-02 13:59 ` Hiroyuki Kamezawa
2011-06-02 15:01 ` Johannes Weiner
2011-06-02 15:01 ` Johannes Weiner
2011-06-02 16:14 ` Hiroyuki Kamezawa
2011-06-02 16:14 ` Hiroyuki Kamezawa
2011-06-02 17:29 ` Johannes Weiner
2011-06-02 17:29 ` Johannes Weiner
2011-06-09 14:01 ` Michal Hocko
2011-06-09 14:01 ` Michal Hocko
2011-06-07 12:25 ` Christoph Hellwig
2011-06-07 12:25 ` Christoph Hellwig
2011-06-08 9:30 ` Johannes Weiner
2011-06-08 9:30 ` Johannes Weiner
2011-06-09 9:26 ` Christoph Hellwig
2011-06-09 9:26 ` Christoph Hellwig
2011-06-09 16:57 ` Johannes Weiner
2011-06-09 16:57 ` Johannes Weiner
2011-06-09 13:12 ` Michal Hocko
2011-06-09 13:12 ` Michal Hocko
2011-06-09 13:45 ` Johannes Weiner
2011-06-09 13:45 ` Johannes Weiner
2011-06-09 15:48 ` Minchan Kim
2011-06-09 15:48 ` Minchan Kim
2011-06-09 17:23 ` Johannes Weiner
2011-06-09 17:23 ` Johannes Weiner
2011-06-09 23:41 ` Minchan Kim
2011-06-09 23:41 ` Minchan Kim
2011-06-09 23:47 ` Minchan Kim
2011-06-09 23:47 ` Minchan Kim
2011-06-10 0:34 ` Johannes Weiner
2011-06-10 0:34 ` Johannes Weiner
2011-06-10 0:48 ` Minchan Kim
2011-06-10 0:48 ` Minchan Kim
2011-08-11 20:39 ` Ying Han
2011-08-11 21:09 ` Johannes Weiner
2011-08-11 21:09 ` Johannes Weiner
2011-08-29 7:15 ` Ying Han
2011-08-29 7:15 ` Ying Han
2011-08-29 7:22 ` Ying Han
2011-08-29 7:22 ` Ying Han
2011-08-29 7:57 ` Johannes Weiner
2011-08-29 7:57 ` Johannes Weiner
2011-08-30 6:08 ` Ying Han
2011-08-30 6:08 ` Ying Han
2011-08-29 19:04 ` Johannes Weiner
2011-08-29 19:04 ` Johannes Weiner
2011-08-29 20:36 ` Ying Han
2011-08-29 21:05 ` Johannes Weiner
2011-08-29 21:05 ` Johannes Weiner
2011-08-30 7:07 ` Ying Han
2011-08-30 7:07 ` Ying Han
2011-08-30 15:14 ` Johannes Weiner
2011-08-30 15:14 ` Johannes Weiner
2011-08-31 22:58 ` Ying Han
2011-08-31 22:58 ` Ying Han
2011-09-21 8:44 ` Johannes Weiner
2011-09-21 8:44 ` Johannes Weiner
2011-08-29 8:07 ` Johannes Weiner
2011-08-29 8:07 ` Johannes Weiner
2011-06-01 6:25 ` [patch 3/8] memcg: reclaim statistics Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-01 6:25 ` [patch 4/8] memcg: rework soft limit reclaim Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-02 5:37 ` Ying Han
2011-06-02 5:37 ` Ying Han
2011-06-02 21:55 ` Ying Han
2011-06-02 21:55 ` Ying Han
2011-06-03 5:25 ` Ying Han
2011-06-03 5:25 ` Ying Han
2011-06-09 15:00 ` Michal Hocko
2011-06-09 15:00 ` Michal Hocko
2011-06-10 7:36 ` Michal Hocko
2011-06-10 7:36 ` Michal Hocko
2011-06-15 22:57 ` Ying Han
2011-06-15 22:57 ` Ying Han
2011-06-16 0:33 ` Ying Han
2011-06-16 0:33 ` Ying Han
2011-06-16 11:45 ` Michal Hocko
2011-06-16 11:45 ` Michal Hocko
2011-06-15 22:48 ` Ying Han
2011-06-15 22:48 ` Ying Han
2011-06-16 11:41 ` Michal Hocko
2011-06-16 11:41 ` Michal Hocko
2011-06-01 6:25 ` [patch 5/8] memcg: remove unused soft limit code Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-13 9:26 ` Michal Hocko
2011-06-13 9:26 ` Michal Hocko
2011-06-01 6:25 ` [patch 6/8] vmscan: change zone_nr_lru_pages to take memcg instead of scan control Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-02 13:30 ` Hiroyuki Kamezawa
2011-06-02 13:30 ` Hiroyuki Kamezawa
2011-06-02 14:28 ` Johannes Weiner
2011-06-02 14:28 ` Johannes Weiner
2011-06-13 9:29 ` Michal Hocko
2011-06-13 9:29 ` Michal Hocko
2011-06-01 6:25 ` [patch 7/8] vmscan: memcg-aware unevictable page rescue scanner Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-02 13:27 ` Hiroyuki Kamezawa
2011-06-02 13:27 ` Hiroyuki Kamezawa
2011-06-02 14:27 ` Johannes Weiner
2011-06-02 14:27 ` Johannes Weiner
2011-06-02 21:02 ` Ying Han
2011-06-02 21:02 ` Ying Han
2011-06-02 22:01 ` Hiroyuki Kamezawa
2011-06-02 22:01 ` Hiroyuki Kamezawa
2011-06-02 22:19 ` Johannes Weiner
2011-06-02 22:19 ` Johannes Weiner
2011-06-02 23:15 ` Hiroyuki Kamezawa
2011-06-02 23:15 ` Hiroyuki Kamezawa
2011-06-03 5:08 ` Ying Han
2011-06-03 5:08 ` Ying Han
2011-06-13 9:42 ` Michal Hocko
2011-06-13 9:42 ` Michal Hocko
2011-06-13 10:30 ` Johannes Weiner
2011-06-13 10:30 ` Johannes Weiner
2011-06-13 11:18 ` Michal Hocko
2011-06-13 11:18 ` Michal Hocko
2011-07-19 22:47 ` Ying Han
2011-07-20 0:36 ` Johannes Weiner
2011-07-20 0:36 ` Johannes Weiner
2011-08-29 7:28 ` Ying Han
2011-08-29 7:28 ` Ying Han
2011-08-29 7:59 ` Johannes Weiner
2011-08-29 7:59 ` Johannes Weiner
2011-06-01 6:25 ` [patch 8/8] mm: make per-memcg lru lists exclusive Johannes Weiner
2011-06-01 6:25 ` Johannes Weiner
2011-06-02 13:16 ` Hiroyuki Kamezawa
2011-06-02 13:16 ` Hiroyuki Kamezawa
2011-06-02 14:24 ` Johannes Weiner
2011-06-02 14:24 ` Johannes Weiner
2011-06-02 15:54 ` Hiroyuki Kamezawa
2011-06-02 15:54 ` Hiroyuki Kamezawa
2011-06-02 17:57 ` Johannes Weiner
2011-06-02 17:57 ` Johannes Weiner
2011-06-08 15:04 ` Michal Hocko
2011-06-08 15:04 ` Michal Hocko
2011-06-07 12:42 ` Christoph Hellwig
2011-06-07 12:42 ` Christoph Hellwig
2011-06-08 8:54 ` Johannes Weiner
2011-06-08 8:54 ` Johannes Weiner
2011-06-09 9:23 ` Christoph Hellwig
2011-06-09 9:23 ` Christoph Hellwig
2011-08-11 20:33 ` Ying Han
2011-08-12 8:34 ` Johannes Weiner
2011-08-12 8:34 ` Johannes Weiner
2011-08-12 17:08 ` Ying Han
2011-08-12 19:17 ` Johannes Weiner
2011-08-12 19:17 ` Johannes Weiner
2011-08-15 3:01 ` Ying Han
2011-08-15 3:01 ` Ying Han
2011-08-15 1:34 ` Ying Han
2011-08-15 1:34 ` Ying Han
2011-08-15 9:39 ` Johannes Weiner
2011-08-15 9:39 ` Johannes Weiner
2011-06-01 23:52 ` [patch 0/8] mm: memcg naturalization -rc2 Hiroyuki Kamezawa
2011-06-01 23:52 ` Hiroyuki Kamezawa
2011-06-02 0:35 ` Greg Thelen
2011-06-02 0:35 ` Greg Thelen
2011-06-09 1:13 ` Rik van Riel
2011-06-09 1:13 ` Rik van Riel
2011-06-02 4:05 ` Ying Han
2011-06-02 4:05 ` Ying Han
2011-06-02 7:50 ` Johannes Weiner [this message]
2011-06-02 7:50 ` Johannes Weiner
2011-06-02 15:51 ` Ying Han
2011-06-02 15:51 ` Ying Han
2011-06-02 17:51 ` Johannes Weiner
2011-06-02 17:51 ` Johannes Weiner
2011-06-08 3:45 ` Ying Han
2011-06-08 3:53 ` Ying Han
2011-06-08 3:53 ` Ying Han
2011-06-08 15:32 ` Johannes Weiner
2011-06-08 15:32 ` Johannes Weiner
2011-06-09 3:52 ` Ying Han
2011-06-09 3:52 ` Ying Han
2011-06-09 8:35 ` Johannes Weiner
2011-06-09 8:35 ` Johannes Weiner
2011-06-09 17:36 ` Ying Han
2011-06-09 17:36 ` Ying Han
2011-06-09 18:36 ` Johannes Weiner
2011-06-09 18:36 ` Johannes Weiner
2011-06-09 21:38 ` Ying Han
2011-06-09 21:38 ` Ying Han
2011-06-09 22:30 ` Ying Han
2011-06-09 22:30 ` Ying Han
2011-06-09 23:31 ` Johannes Weiner
2011-06-09 23:31 ` Johannes Weiner
2011-06-10 0:17 ` Ying Han
2011-06-10 0:17 ` Ying Han
2011-06-02 7:33 ` Johannes Weiner
2011-06-02 7:33 ` Johannes Weiner
2011-06-02 9:06 ` Hiroyuki Kamezawa
2011-06-02 9:06 ` Hiroyuki Kamezawa
2011-06-02 10:00 ` Johannes Weiner
2011-06-02 10:00 ` Johannes Weiner
2011-06-02 12:59 ` Hiroyuki Kamezawa
2011-06-02 12:59 ` Hiroyuki Kamezawa
2011-06-09 1:15 ` Rik van Riel
2011-06-09 1:15 ` Rik van Riel
2011-06-09 8:43 ` Johannes Weiner
2011-06-09 8:43 ` Johannes Weiner
2011-06-09 9:31 ` Christoph Hellwig
2011-06-09 9:31 ` Christoph Hellwig
2011-06-13 9:47 ` Michal Hocko
2011-06-13 9:47 ` Michal Hocko
2011-06-13 10:35 ` Johannes Weiner
2011-06-13 10:35 ` 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=20110602075028.GB20630@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=gthelen@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kamezawa.hiroyuki@gmail.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@suse.cz \
--cc=minchan.kim@gmail.com \
--cc=nishimura@mxp.nes.nec.co.jp \
--cc=riel@redhat.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.