From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>,
"xemul@openvz.org" <xemul@openvz.org>,
Andrew Morton <akpm@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Dave Hansen <haveblue@us.ibm.com>,
ryov@valinux.co.jp
Subject: Re: [PATCH 4/12] memcg make page->mapping NULL before calling uncharge
Date: Fri, 26 Sep 2008 15:17:48 +0530 [thread overview]
Message-ID: <48DCAFC4.40009@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080925151639.5e2ddea4.kamezawa.hiroyu@jp.fujitsu.com>
KAMEZAWA Hiroyuki wrote:
> This patch tries to make page->mapping to be NULL before
> mem_cgroup_uncharge_cache_page() is called.
>
> "page->mapping == NULL" is a good check for "whether the page is still
> radix-tree or not".
> This patch also adds BUG_ON() to mem_cgroup_uncharge_cache_page();
>
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Looks good, small nit-pick below
> #endif
> ClearPagePrivate(page);
> set_page_private(page, 0);
> - page->mapping = NULL;
> + /* page->mapping contains a flag for PageAnon() */
> + if (PageAnon(page)) {
> + /* This page is uncharged at try_to_unmap(). */
> + page->mapping = NULL;
> + } else {
> + /* Obsolete file cache should be uncharged */
> + page->mapping = NULL;
> + mem_cgroup_uncharge_cache_page(page);
> + }
>
Isn't it better and correct coding style to do
/*
* Uncharge obsolete file cache
*/
if (!PageAnon(page))
mem_cgroup_uncharge_cache_page(page);
/* else - uncharged at try_to_unmap() */
page->mapping = NULL;
--
Balbir
WARNING: multiple messages have this Message-ID (diff)
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>,
"xemul@openvz.org" <xemul@openvz.org>,
Andrew Morton <akpm@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Dave Hansen <haveblue@us.ibm.com>,
ryov@valinux.co.jp
Subject: Re: [PATCH 4/12] memcg make page->mapping NULL before calling uncharge
Date: Fri, 26 Sep 2008 15:17:48 +0530 [thread overview]
Message-ID: <48DCAFC4.40009@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080925151639.5e2ddea4.kamezawa.hiroyu@jp.fujitsu.com>
KAMEZAWA Hiroyuki wrote:
> This patch tries to make page->mapping to be NULL before
> mem_cgroup_uncharge_cache_page() is called.
>
> "page->mapping == NULL" is a good check for "whether the page is still
> radix-tree or not".
> This patch also adds BUG_ON() to mem_cgroup_uncharge_cache_page();
>
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Looks good, small nit-pick below
> #endif
> ClearPagePrivate(page);
> set_page_private(page, 0);
> - page->mapping = NULL;
> + /* page->mapping contains a flag for PageAnon() */
> + if (PageAnon(page)) {
> + /* This page is uncharged at try_to_unmap(). */
> + page->mapping = NULL;
> + } else {
> + /* Obsolete file cache should be uncharged */
> + page->mapping = NULL;
> + mem_cgroup_uncharge_cache_page(page);
> + }
>
Isn't it better and correct coding style to do
/*
* Uncharge obsolete file cache
*/
if (!PageAnon(page))
mem_cgroup_uncharge_cache_page(page);
/* else - uncharged at try_to_unmap() */
page->mapping = NULL;
--
Balbir
--
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:[~2008-09-26 9:48 UTC|newest]
Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-25 6:11 [PATCH 0/12] memcg updates v5 KAMEZAWA Hiroyuki
2008-09-25 6:13 ` [PATCH 1/12] memcg avoid accounting special mappings not on LRU KAMEZAWA Hiroyuki
2008-09-26 8:25 ` Balbir Singh
2008-09-26 8:25 ` Balbir Singh
2008-09-26 9:17 ` KAMEZAWA Hiroyuki
2008-09-26 9:17 ` KAMEZAWA Hiroyuki
2008-09-26 9:32 ` Balbir Singh
2008-09-26 9:32 ` Balbir Singh
2008-09-26 9:55 ` KAMEZAWA Hiroyuki
2008-09-26 9:55 ` KAMEZAWA Hiroyuki
2008-09-25 6:14 ` [PATCH 2/12] memcg move charege() call to swapped-in page under lock_page() KAMEZAWA Hiroyuki
2008-09-26 8:36 ` Balbir Singh
2008-09-26 8:36 ` Balbir Singh
2008-09-26 9:18 ` KAMEZAWA Hiroyuki
2008-09-26 9:18 ` KAMEZAWA Hiroyuki
2008-09-25 6:15 ` [PATCH 3/12] memcg make root cgroup unlimited KAMEZAWA Hiroyuki
2008-09-26 8:41 ` Balbir Singh
2008-09-26 8:41 ` Balbir Singh
2008-09-26 9:21 ` KAMEZAWA Hiroyuki
2008-09-26 9:21 ` KAMEZAWA Hiroyuki
2008-09-26 9:29 ` Balbir Singh
2008-09-26 9:29 ` Balbir Singh
2008-09-26 9:59 ` KAMEZAWA Hiroyuki
2008-09-26 9:59 ` KAMEZAWA Hiroyuki
2008-09-25 6:16 ` [PATCH 4/12] memcg make page->mapping NULL before calling uncharge KAMEZAWA Hiroyuki
2008-09-26 9:47 ` Balbir Singh [this message]
2008-09-26 9:47 ` Balbir Singh
2008-09-26 10:07 ` KAMEZAWA Hiroyuki
2008-09-26 10:07 ` KAMEZAWA Hiroyuki
2008-09-25 6:17 ` [PATCH 5/12] memcg make page_cgroup->flags atomic KAMEZAWA Hiroyuki
2008-09-27 6:58 ` Balbir Singh
2008-09-27 6:58 ` Balbir Singh
2008-09-25 6:18 ` [PATCH 6/12] memcg optimize percpu stat KAMEZAWA Hiroyuki
2008-09-26 9:53 ` Balbir Singh
2008-09-26 9:53 ` Balbir Singh
2008-09-25 6:27 ` [PATCH 7/12] memcg add function to move account KAMEZAWA Hiroyuki
2008-09-26 7:30 ` Daisuke Nishimura
2008-09-26 7:30 ` Daisuke Nishimura
2008-09-26 9:24 ` KAMEZAWA Hiroyuki
2008-09-26 9:24 ` KAMEZAWA Hiroyuki
2008-09-27 7:56 ` Balbir Singh
2008-09-27 7:56 ` Balbir Singh
2008-09-27 8:35 ` kamezawa.hiroyu
2008-09-27 8:35 ` kamezawa.hiroyu
2008-09-25 6:29 ` [PATCH 8/12] memcg rewrite force empty to move account to root KAMEZAWA Hiroyuki
2008-09-25 6:32 ` [PATCH 9/12] memcg allocate all page_cgroup at boot KAMEZAWA Hiroyuki
2008-09-25 18:40 ` Dave Hansen
2008-09-25 18:40 ` Dave Hansen
2008-09-26 1:17 ` KAMEZAWA Hiroyuki
2008-09-26 1:17 ` KAMEZAWA Hiroyuki
2008-09-26 1:22 ` KAMEZAWA Hiroyuki
2008-09-26 1:22 ` KAMEZAWA Hiroyuki
2008-09-26 1:00 ` Daisuke Nishimura
2008-09-26 1:00 ` Daisuke Nishimura
2008-09-26 1:43 ` KAMEZAWA Hiroyuki
2008-09-26 1:43 ` KAMEZAWA Hiroyuki
2008-09-26 2:05 ` KAMEZAWA Hiroyuki
2008-09-26 2:05 ` KAMEZAWA Hiroyuki
2008-09-26 5:54 ` Daisuke Nishimura
2008-09-26 5:54 ` Daisuke Nishimura
2008-09-26 6:54 ` KAMEZAWA Hiroyuki
2008-09-26 6:54 ` KAMEZAWA Hiroyuki
2008-09-27 3:47 ` KAMEZAWA Hiroyuki
2008-09-27 3:47 ` KAMEZAWA Hiroyuki
2008-09-27 3:25 ` KAMEZAWA Hiroyuki
2008-09-27 3:25 ` KAMEZAWA Hiroyuki
2008-09-26 2:21 ` [PATCH(fixed) " KAMEZAWA Hiroyuki
2008-09-26 2:21 ` KAMEZAWA Hiroyuki
2008-09-26 2:25 ` [PATCH(fixed) 10/12] free page cgroup from LRU in lazy KAMEZAWA Hiroyuki
2008-09-26 2:25 ` KAMEZAWA Hiroyuki
2008-09-26 2:28 ` [PATCH(fixed) 11/12] free page cgroup from LRU in add KAMEZAWA Hiroyuki
2008-09-26 2:28 ` KAMEZAWA Hiroyuki
2008-10-01 4:03 ` [PATCH 9/12] memcg allocate all page_cgroup at boot Balbir Singh
2008-10-01 4:03 ` Balbir Singh
2008-10-01 5:07 ` KAMEZAWA Hiroyuki
2008-10-01 5:07 ` KAMEZAWA Hiroyuki
2008-10-01 5:30 ` Balbir Singh
2008-10-01 5:30 ` Balbir Singh
2008-10-01 5:41 ` KAMEZAWA Hiroyuki
2008-10-01 5:41 ` KAMEZAWA Hiroyuki
2008-10-01 6:12 ` KAMEZAWA Hiroyuki
2008-10-01 6:12 ` KAMEZAWA Hiroyuki
2008-10-01 6:26 ` Balbir Singh
2008-10-01 6:26 ` Balbir Singh
2008-10-01 5:32 ` KAMEZAWA Hiroyuki
2008-10-01 5:32 ` KAMEZAWA Hiroyuki
2008-10-01 5:59 ` Balbir Singh
2008-10-01 5:59 ` Balbir Singh
2008-10-01 6:17 ` KAMEZAWA Hiroyuki
2008-10-01 6:17 ` KAMEZAWA Hiroyuki
2008-09-25 6:33 ` [PATCH 10/12] memcg free page_cgroup from LRU in lazy KAMEZAWA Hiroyuki
2008-09-25 6:35 ` [PATCH 11/12] memcg add to " KAMEZAWA Hiroyuki
2008-09-25 6:36 ` [PATCH 12/12] memcg: fix race at charging swap-in KAMEZAWA Hiroyuki
2008-09-26 2:32 ` [PATCH 0/12] memcg updates v5 Daisuke Nishimura
2008-09-26 2:32 ` Daisuke Nishimura
2008-09-26 2:58 ` KAMEZAWA Hiroyuki
2008-09-26 2:58 ` KAMEZAWA Hiroyuki
2008-09-26 3:04 ` KAMEZAWA Hiroyuki
2008-09-26 3:04 ` KAMEZAWA Hiroyuki
2008-09-26 3:00 ` Daisuke Nishimura
2008-09-26 3:00 ` Daisuke Nishimura
2008-09-26 4:05 ` KAMEZAWA Hiroyuki
2008-09-26 4:05 ` KAMEZAWA Hiroyuki
2008-09-26 5:24 ` Daisuke Nishimura
2008-09-26 5:24 ` Daisuke Nishimura
2008-09-26 9:28 ` KAMEZAWA Hiroyuki
2008-09-26 9:28 ` KAMEZAWA Hiroyuki
2008-09-26 10:43 ` KAMEZAWA Hiroyuki
2008-09-26 10:43 ` KAMEZAWA Hiroyuki
2008-09-27 2:53 ` KAMEZAWA Hiroyuki
2008-09-27 2:53 ` KAMEZAWA Hiroyuki
2008-09-26 8:18 ` Balbir Singh
2008-09-26 8:18 ` Balbir Singh
2008-09-26 9:22 ` KAMEZAWA Hiroyuki
2008-09-26 9:22 ` KAMEZAWA Hiroyuki
2008-09-26 9:31 ` Balbir Singh
2008-09-26 9:31 ` Balbir Singh
2008-09-26 10:36 ` KAMEZAWA Hiroyuki
2008-09-26 10:36 ` KAMEZAWA Hiroyuki
2008-09-27 3:19 ` KAMEZAWA Hiroyuki
2008-09-27 3:19 ` KAMEZAWA Hiroyuki
2008-09-29 3:02 ` Balbir Singh
2008-09-29 3:02 ` Balbir Singh
2008-09-29 3:27 ` KAMEZAWA Hiroyuki
2008-09-29 3:27 ` 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=48DCAFC4.40009@linux.vnet.ibm.com \
--to=balbir@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=haveblue@us.ibm.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nishimura@mxp.nes.nec.co.jp \
--cc=ryov@valinux.co.jp \
--cc=xemul@openvz.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.