From: Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>
To: KAMEZAWA Hiroyuki
<kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
Cc: "linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org"
<linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org>,
Ying Han <yinghan-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
"hugh.dickins-IWqWACnzNjwqdlJmJB21zg@public.gmane.org"
<hugh.dickins-IWqWACnzNjwqdlJmJB21zg@public.gmane.org>,
"hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org"
<hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
<bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [RFC] [PATCH 5/7 v2] memcg: remove PCG_FILE_MAPPED
Date: Thu, 19 Jan 2012 15:07:37 +0100 [thread overview]
Message-ID: <20120119140737.GD13932@tiehlicka.suse.cz> (raw)
In-Reply-To: <20120113174223.aaf5a80c.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
On Fri 13-01-12 17:42:23, KAMEZAWA Hiroyuki wrote:
> From a9b51d6204d7f8714173c46a306caf413ad25d4e Mon Sep 17 00:00:00 2001
> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
> Date: Thu, 12 Jan 2012 18:40:26 +0900
> Subject: [PATCH 5/7] memcg: remove PCG_FILE_MAPPED
>
> Because we can update page's status and memcg's statistics without
> race with move_account, this flag is unnecessary.
I would really appreciate a little bit more description ;)
8725d541 [memcg: fix race in file_mapped accounting] has added the
flag to resolve a race when a move_account happened between page's
mapcount has been updated and this has been accounted to memcg.
This, however, cannot happen anymore because mem_cgroup_update_page_stat
is always enclosed by mem_cgroup_begin_update_page_stat and
mem_cgroup_end_update_page_stat along with the mapcount update.
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
Other than that looks good and nice to see another one go away.
I will add my ack along with the patches which this depend on once they
settle down if you don't mind
Thanks
> ---
> include/linux/page_cgroup.h | 6 ------
> mm/memcontrol.c | 6 +-----
> 2 files changed, 1 insertions(+), 11 deletions(-)
>
> diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h
> index 5dba799..0b9a48a 100644
> --- a/include/linux/page_cgroup.h
> +++ b/include/linux/page_cgroup.h
> @@ -7,8 +7,6 @@ enum {
> PCG_CACHE, /* charged as cache */
> PCG_USED, /* this object is in use. */
> PCG_MIGRATION, /* under page migration */
> - /* flags for mem_cgroup and file and I/O status */
> - PCG_FILE_MAPPED, /* page is accounted as "mapped" */
> __NR_PCG_FLAGS,
> };
>
> @@ -72,10 +70,6 @@ TESTPCGFLAG(Used, USED)
> CLEARPCGFLAG(Used, USED)
> SETPCGFLAG(Used, USED)
>
> -SETPCGFLAG(FileMapped, FILE_MAPPED)
> -CLEARPCGFLAG(FileMapped, FILE_MAPPED)
> -TESTPCGFLAG(FileMapped, FILE_MAPPED)
> -
> SETPCGFLAG(Migration, MIGRATION)
> CLEARPCGFLAG(Migration, MIGRATION)
> TESTPCGFLAG(Migration, MIGRATION)
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 30ef810..a96800d 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1952,10 +1952,6 @@ void mem_cgroup_update_page_stat(struct page *page,
>
> switch (idx) {
> case MEMCG_NR_FILE_MAPPED:
> - if (val > 0)
> - SetPageCgroupFileMapped(pc);
> - else if (!page_mapped(page))
> - ClearPageCgroupFileMapped(pc);
> idx = MEM_CGROUP_STAT_FILE_MAPPED;
> break;
> default:
> @@ -2606,7 +2602,7 @@ static int mem_cgroup_move_account(struct page *page,
>
> mem_cgroup_account_move_wlock(page, &flags);
>
> - if (PageCgroupFileMapped(pc)) {
> + if (page_mapcount(page)) {
> /* Update mapped_file data for mem_cgroup */
> preempt_disable();
> __this_cpu_dec(from->stat->count[MEM_CGROUP_STAT_FILE_MAPPED]);
> --
> 1.7.4.1
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe cgroups" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic
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>,
Ying Han <yinghan@google.com>,
"hugh.dickins@tiscali.co.uk" <hugh.dickins@tiscali.co.uk>,
"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
cgroups@vger.kernel.org,
"bsingharora@gmail.com" <bsingharora@gmail.com>
Subject: Re: [RFC] [PATCH 5/7 v2] memcg: remove PCG_FILE_MAPPED
Date: Thu, 19 Jan 2012 15:07:37 +0100 [thread overview]
Message-ID: <20120119140737.GD13932@tiehlicka.suse.cz> (raw)
In-Reply-To: <20120113174223.aaf5a80c.kamezawa.hiroyu@jp.fujitsu.com>
On Fri 13-01-12 17:42:23, KAMEZAWA Hiroyuki wrote:
> From a9b51d6204d7f8714173c46a306caf413ad25d4e Mon Sep 17 00:00:00 2001
> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> Date: Thu, 12 Jan 2012 18:40:26 +0900
> Subject: [PATCH 5/7] memcg: remove PCG_FILE_MAPPED
>
> Because we can update page's status and memcg's statistics without
> race with move_account, this flag is unnecessary.
I would really appreciate a little bit more description ;)
8725d541 [memcg: fix race in file_mapped accounting] has added the
flag to resolve a race when a move_account happened between page's
mapcount has been updated and this has been accounted to memcg.
This, however, cannot happen anymore because mem_cgroup_update_page_stat
is always enclosed by mem_cgroup_begin_update_page_stat and
mem_cgroup_end_update_page_stat along with the mapcount update.
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Other than that looks good and nice to see another one go away.
I will add my ack along with the patches which this depend on once they
settle down if you don't mind
Thanks
> ---
> include/linux/page_cgroup.h | 6 ------
> mm/memcontrol.c | 6 +-----
> 2 files changed, 1 insertions(+), 11 deletions(-)
>
> diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h
> index 5dba799..0b9a48a 100644
> --- a/include/linux/page_cgroup.h
> +++ b/include/linux/page_cgroup.h
> @@ -7,8 +7,6 @@ enum {
> PCG_CACHE, /* charged as cache */
> PCG_USED, /* this object is in use. */
> PCG_MIGRATION, /* under page migration */
> - /* flags for mem_cgroup and file and I/O status */
> - PCG_FILE_MAPPED, /* page is accounted as "mapped" */
> __NR_PCG_FLAGS,
> };
>
> @@ -72,10 +70,6 @@ TESTPCGFLAG(Used, USED)
> CLEARPCGFLAG(Used, USED)
> SETPCGFLAG(Used, USED)
>
> -SETPCGFLAG(FileMapped, FILE_MAPPED)
> -CLEARPCGFLAG(FileMapped, FILE_MAPPED)
> -TESTPCGFLAG(FileMapped, FILE_MAPPED)
> -
> SETPCGFLAG(Migration, MIGRATION)
> CLEARPCGFLAG(Migration, MIGRATION)
> TESTPCGFLAG(Migration, MIGRATION)
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 30ef810..a96800d 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1952,10 +1952,6 @@ void mem_cgroup_update_page_stat(struct page *page,
>
> switch (idx) {
> case MEMCG_NR_FILE_MAPPED:
> - if (val > 0)
> - SetPageCgroupFileMapped(pc);
> - else if (!page_mapped(page))
> - ClearPageCgroupFileMapped(pc);
> idx = MEM_CGROUP_STAT_FILE_MAPPED;
> break;
> default:
> @@ -2606,7 +2602,7 @@ static int mem_cgroup_move_account(struct page *page,
>
> mem_cgroup_account_move_wlock(page, &flags);
>
> - if (PageCgroupFileMapped(pc)) {
> + if (page_mapcount(page)) {
> /* Update mapped_file data for mem_cgroup */
> preempt_disable();
> __this_cpu_dec(from->stat->count[MEM_CGROUP_STAT_FILE_MAPPED]);
> --
> 1.7.4.1
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe cgroups" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
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>
next prev parent reply other threads:[~2012-01-19 14:07 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-13 8:30 [RFC] [PATCH 0/7 v2] memcg: page_cgroup diet KAMEZAWA Hiroyuki
2012-01-13 8:32 ` [RFC] [PATCH 1/7 v2] memcg: remove unnecessary check in mem_cgroup_update_page_stat() KAMEZAWA Hiroyuki
2012-01-13 8:32 ` KAMEZAWA Hiroyuki
[not found] ` <20120113173227.df2baae3.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-17 15:16 ` Michal Hocko
2012-01-17 15:16 ` Michal Hocko
[not found] ` <20120117151619.GA21348-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-17 23:55 ` KAMEZAWA Hiroyuki
2012-01-17 23:55 ` KAMEZAWA Hiroyuki
[not found] ` <20120118085558.6ed1a988.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-18 13:01 ` Michal Hocko
2012-01-18 13:01 ` Michal Hocko
[not found] ` <20120118130102.GC31112-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-19 2:18 ` KAMEZAWA Hiroyuki
2012-01-19 2:18 ` KAMEZAWA Hiroyuki
2012-01-19 20:07 ` Ying Han
2012-01-19 20:07 ` Ying Han
2012-01-20 0:48 ` KAMEZAWA Hiroyuki
2012-01-20 0:48 ` KAMEZAWA Hiroyuki
2012-01-13 8:41 ` [RFC] [PATCH 4/7 v2] memcg: new scheme to update per-memcg page stat accounting KAMEZAWA Hiroyuki
2012-01-13 8:41 ` KAMEZAWA Hiroyuki
2012-01-18 16:45 ` Michal Hocko
2012-01-18 23:58 ` KAMEZAWA Hiroyuki
[not found] ` <20120113174138.ec7b64d9.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-26 19:01 ` Ying Han
2012-01-26 19:01 ` Ying Han
[not found] ` <20120113173001.ee5260ca.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-13 8:33 ` [RFC] [PATCH 2/7 v2] memcg: add memory barrier for checking account move KAMEZAWA Hiroyuki
2012-01-13 8:33 ` KAMEZAWA Hiroyuki
[not found] ` <20120113173347.6231f510.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-17 15:26 ` Michal Hocko
2012-01-17 15:26 ` Michal Hocko
[not found] ` <20120117152635.GA22142-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-18 0:06 ` KAMEZAWA Hiroyuki
2012-01-18 0:06 ` KAMEZAWA Hiroyuki
2012-01-18 12:37 ` Michal Hocko
[not found] ` <20120118123759.GB31112-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-19 2:17 ` KAMEZAWA Hiroyuki
2012-01-19 2:17 ` KAMEZAWA Hiroyuki
2012-01-19 9:28 ` Michal Hocko
[not found] ` <20120119092833.GA13932-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-19 23:57 ` KAMEZAWA Hiroyuki
2012-01-19 23:57 ` KAMEZAWA Hiroyuki
[not found] ` <20120119111727.6337bde4.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-20 18:08 ` Ying Han
2012-01-20 18:08 ` Ying Han
[not found] ` <CALWz4iz59=-J+cif+XickXBG3zUSy58yHhkX6j3zbJyBXGzpYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-23 9:04 ` Michal Hocko
2012-01-23 9:04 ` Michal Hocko
[not found] ` <20120123090436.GA12375-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-24 3:21 ` KAMEZAWA Hiroyuki
2012-01-24 3:21 ` KAMEZAWA Hiroyuki
2012-01-24 8:49 ` Michal Hocko
2012-01-24 8:49 ` Michal Hocko
2012-01-24 19:04 ` Ying Han
2012-01-24 19:04 ` Ying Han
[not found] ` <CALWz4iyaWtes=aU79DAbEfBsNUTaHKLK5HZbNfShaxgC8UX_TQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-25 11:07 ` Michal Hocko
2012-01-25 11:07 ` Michal Hocko
2012-01-13 8:40 ` [RFC] [PATCH 3/7 v2] memcg: remove PCG_MOVE_LOCK flag from pc->flags KAMEZAWA Hiroyuki
2012-01-13 8:40 ` KAMEZAWA Hiroyuki
2012-01-16 12:55 ` Kirill A. Shutemov
[not found] ` <20120116125526.GB25981-oKw7cIdHH8eLwutG50LtGA@public.gmane.org>
2012-01-17 0:22 ` KAMEZAWA Hiroyuki
2012-01-17 0:22 ` KAMEZAWA Hiroyuki
[not found] ` <20120113174019.8dff3fc1.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-17 16:46 ` Michal Hocko
2012-01-17 16:46 ` Michal Hocko
2012-01-18 0:12 ` KAMEZAWA Hiroyuki
2012-01-18 10:47 ` Michal Hocko
[not found] ` <20120118104703.GA31112-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-18 23:53 ` KAMEZAWA Hiroyuki
2012-01-18 23:53 ` KAMEZAWA Hiroyuki
[not found] ` <20120119085309.616cadb4.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-23 22:05 ` Ying Han
2012-01-23 22:05 ` Ying Han
2012-01-24 4:59 ` KAMEZAWA Hiroyuki
2012-01-24 4:59 ` KAMEZAWA Hiroyuki
[not found] ` <CALWz4ixAT411PZMwngh17V8VZEDGbMNNzbWFwbpC5M-JO+TVOQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-24 8:43 ` Michal Hocko
2012-01-24 8:43 ` Michal Hocko
[not found] ` <20120124084335.GE26289-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-25 23:07 ` Ying Han
2012-01-25 23:07 ` Ying Han
[not found] ` <CALWz4iy0ajriTk7V0xL1+W7rDFS+-M5w4OdPjasMGUTH=ZLgrw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-26 9:16 ` Michal Hocko
2012-01-26 9:16 ` Michal Hocko
2012-01-23 22:02 ` Ying Han
[not found] ` <CALWz4izasaECifCYoRXL45x1YXYzACC=kUHQivnGZKRH+ySjuw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-24 4:47 ` KAMEZAWA Hiroyuki
2012-01-24 4:47 ` KAMEZAWA Hiroyuki
2012-01-25 22:48 ` Ying Han
2012-01-13 8:42 ` [RFC] [PATCH 5/7 v2] memcg: remove PCG_FILE_MAPPED KAMEZAWA Hiroyuki
2012-01-13 8:42 ` KAMEZAWA Hiroyuki
[not found] ` <20120113174223.aaf5a80c.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-19 14:07 ` Michal Hocko [this message]
2012-01-19 14:07 ` Michal Hocko
[not found] ` <20120119140737.GD13932-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-26 19:10 ` Ying Han
2012-01-26 19:10 ` Ying Han
2012-01-13 8:43 ` [RFC] [PATCH 6/7 v2] memcg: remove PCG_CACHE KAMEZAWA Hiroyuki
2012-01-13 8:43 ` KAMEZAWA Hiroyuki
2012-01-13 8:45 ` [RFC] [PATCH 7/7 v2] memcg: make mem_cgroup_begin_update_stat to use global pcpu KAMEZAWA Hiroyuki
2012-01-13 8:45 ` KAMEZAWA Hiroyuki
2012-01-19 14:47 ` Michal Hocko
[not found] ` <20120119144712.GG13932-VqjxzfR4DlwKmadIfiO5sKVXKuFTiq87@public.gmane.org>
2012-01-20 2:19 ` KAMEZAWA Hiroyuki
2012-01-20 2:19 ` KAMEZAWA Hiroyuki
[not found] ` <20120120111947.400b2b15.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-01-20 8:38 ` Michal Hocko
2012-01-20 8:38 ` Michal Hocko
2012-01-20 8:40 ` Greg Thelen
[not found] ` <CAHH2K0ZzE55Dx=pz+cR1US3UnUbUxuyVjM=N3kf3NN+Rz8GJjQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-24 3:18 ` KAMEZAWA Hiroyuki
2012-01-24 3:18 ` KAMEZAWA Hiroyuki
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=20120119140737.GD13932@tiehlicka.suse.cz \
--to=mhocko-alswssmvlrq@public.gmane.org \
--cc=bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=hugh.dickins-IWqWACnzNjwqdlJmJB21zg@public.gmane.org \
--cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=yinghan-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
/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.