From: Michal Hocko <mhocko@suse.cz>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Hugh Dickins <hughd@google.com>, Ying Han <yinghan@google.com>
Subject: Re: [PATCH v3] memcg: remove PCG_CACHE page_cgroup flag
Date: Fri, 20 Jan 2012 09:45:45 +0100 [thread overview]
Message-ID: <20120120084545.GC9655@tiehlicka.suse.cz> (raw)
In-Reply-To: <20120120122658.1b14b512.kamezawa.hiroyu@jp.fujitsu.com>
On Fri 20-01-12 12:26:58, KAMEZAWA Hiroyuki wrote:
> I think this version is much simplified.
>
> ==
> From 5700a4fe9c581e1ebaa021ba6119dc8d921b024f Mon Sep 17 00:00:00 2001
> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> Date: Thu, 19 Jan 2012 17:09:41 +0900
> Subject: [PATCH v3] memcg: remove PCG_CACHE
>
> We record 'the page is cache' by PCG_CACHE bit to page_cgroup.
> Here, "CACHE" means anonymous user pages (and SwapCache). This
> doesn't include shmem.
>
> Consdering callers, at charge/uncharge, the caller should know
> what the page is and we don't need to record it by using 1bit
> per page.
>
> This patch removes PCG_CACHE bit and make callers of
> mem_cgroup_charge_statistics() to specify what the page is.
>
> Changelog since v2
> - removed 'not_rss', added 'anon'
> - changed a meaning of arguments to mem_cgroup_charge_statisitcs()
> - removed a patch to mem_cgroup_uncharge_cache
> - simplified comment.
>
> Changelog since RFC.
> - rebased onto memcg-devel
> - rename 'file' to 'not_rss'
> - some cleanup and added comment.
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> ---
> include/linux/page_cgroup.h | 8 +------
> mm/memcontrol.c | 48 +++++++++++++++++++++++-------------------
> 2 files changed, 27 insertions(+), 29 deletions(-)
>
[...]
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index ff24520..f000c82 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -672,15 +672,19 @@ static unsigned long mem_cgroup_read_events(struct mem_cgroup *memcg,
> }
>
> static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg,
> - bool file, int nr_pages)
> + bool rss, int nr_pages)
Can we make this anon as well?
> {
> preempt_disable();
>
> - if (file)
> - __this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_CACHE],
> + /*
> + * Here, RSS means 'mapped anon' and anon's SwapCache. Shmem/tmpfs is
> + * counted as CACHE even if it's on ANON LRU.
> + */
> + if (rss)
> + __this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_RSS],
> nr_pages);
> else
> - __this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_RSS],
> + __this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_CACHE],
> nr_pages);
>
> /* pagein of a big page is an event. So, ignore page size */
[...]
--
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@suse.cz>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Hugh Dickins <hughd@google.com>, Ying Han <yinghan@google.com>
Subject: Re: [PATCH v3] memcg: remove PCG_CACHE page_cgroup flag
Date: Fri, 20 Jan 2012 09:45:45 +0100 [thread overview]
Message-ID: <20120120084545.GC9655@tiehlicka.suse.cz> (raw)
In-Reply-To: <20120120122658.1b14b512.kamezawa.hiroyu@jp.fujitsu.com>
On Fri 20-01-12 12:26:58, KAMEZAWA Hiroyuki wrote:
> I think this version is much simplified.
>
> ==
> From 5700a4fe9c581e1ebaa021ba6119dc8d921b024f Mon Sep 17 00:00:00 2001
> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> Date: Thu, 19 Jan 2012 17:09:41 +0900
> Subject: [PATCH v3] memcg: remove PCG_CACHE
>
> We record 'the page is cache' by PCG_CACHE bit to page_cgroup.
> Here, "CACHE" means anonymous user pages (and SwapCache). This
> doesn't include shmem.
>
> Consdering callers, at charge/uncharge, the caller should know
> what the page is and we don't need to record it by using 1bit
> per page.
>
> This patch removes PCG_CACHE bit and make callers of
> mem_cgroup_charge_statistics() to specify what the page is.
>
> Changelog since v2
> - removed 'not_rss', added 'anon'
> - changed a meaning of arguments to mem_cgroup_charge_statisitcs()
> - removed a patch to mem_cgroup_uncharge_cache
> - simplified comment.
>
> Changelog since RFC.
> - rebased onto memcg-devel
> - rename 'file' to 'not_rss'
> - some cleanup and added comment.
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> ---
> include/linux/page_cgroup.h | 8 +------
> mm/memcontrol.c | 48 +++++++++++++++++++++++-------------------
> 2 files changed, 27 insertions(+), 29 deletions(-)
>
[...]
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index ff24520..f000c82 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -672,15 +672,19 @@ static unsigned long mem_cgroup_read_events(struct mem_cgroup *memcg,
> }
>
> static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg,
> - bool file, int nr_pages)
> + bool rss, int nr_pages)
Can we make this anon as well?
> {
> preempt_disable();
>
> - if (file)
> - __this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_CACHE],
> + /*
> + * Here, RSS means 'mapped anon' and anon's SwapCache. Shmem/tmpfs is
> + * counted as CACHE even if it's on ANON LRU.
> + */
> + if (rss)
> + __this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_RSS],
> nr_pages);
> else
> - __this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_RSS],
> + __this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_CACHE],
> nr_pages);
>
> /* pagein of a big page is an event. So, ignore page size */
[...]
--
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic
next prev parent reply other threads:[~2012-01-20 8:45 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-19 9:17 [PATCH] memcg: remove PCG_CACHE page_cgroup flag KAMEZAWA Hiroyuki
2012-01-19 9:17 ` KAMEZAWA Hiroyuki
2012-01-19 13:30 ` Johannes Weiner
2012-01-19 13:30 ` Johannes Weiner
2012-01-19 23:55 ` KAMEZAWA Hiroyuki
2012-01-19 23:55 ` KAMEZAWA Hiroyuki
2012-01-19 13:43 ` Michal Hocko
2012-01-19 13:43 ` Michal Hocko
2012-01-19 23:56 ` KAMEZAWA Hiroyuki
2012-01-19 23:56 ` KAMEZAWA Hiroyuki
2012-01-20 3:26 ` [PATCH v3] " KAMEZAWA Hiroyuki
2012-01-20 3:26 ` KAMEZAWA Hiroyuki
2012-01-20 8:45 ` Michal Hocko [this message]
2012-01-20 8:45 ` Michal Hocko
2012-01-24 3:16 ` [PATCH v4] " KAMEZAWA Hiroyuki
2012-01-24 3:16 ` KAMEZAWA Hiroyuki
2012-01-24 8:56 ` Michal Hocko
2012-01-24 8:56 ` Michal Hocko
2012-01-24 11:16 ` Johannes Weiner
2012-01-24 11:16 ` Johannes Weiner
2012-01-24 14:54 ` Johannes Weiner
2012-01-24 14:54 ` Johannes Weiner
2012-01-24 16:01 ` Michal Hocko
2012-01-24 16:01 ` Michal Hocko
2012-01-24 16:44 ` Johannes Weiner
2012-01-24 16:44 ` Johannes Weiner
2012-01-24 17:23 ` Michal Hocko
2012-01-24 17:23 ` Michal Hocko
2012-01-24 18:09 ` Michal Hocko
2012-01-24 18:09 ` Michal Hocko
2012-01-25 0:00 ` KAMEZAWA Hiroyuki
2012-01-25 0:00 ` KAMEZAWA Hiroyuki
2012-01-25 5:41 ` [PATCH v5] " KAMEZAWA Hiroyuki
2012-01-25 5:41 ` KAMEZAWA Hiroyuki
2012-01-25 12:24 ` Michal Hocko
2012-01-25 12:24 ` Michal Hocko
2012-01-25 13:36 ` Johannes Weiner
2012-01-25 13:36 ` Johannes Weiner
2012-01-20 10:33 ` [PATCH v3] " Johannes Weiner
2012-01-20 10:33 ` 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=20120120084545.GC9655@tiehlicka.suse.cz \
--to=mhocko@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--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.