From: Greg Thelen <gthelen@google.com> To: Andrew Morton <akpm@linux-foundation.org> Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, containers@lists.osdl.org, linux-fsdevel@vger.kernel.org, Andrea Righi <arighi@develer.com>, Balbir Singh <balbir@linux.vnet.ibm.com>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>, Minchan Kim <minchan.kim@gmail.com>, Johannes Weiner <hannes@cmpxchg.org>, Ciju Rajan K <ciju@linux.vnet.ibm.com>, David Rientjes <rientjes@google.com>, Wu Fengguang <fengguang.wu@intel.com>, Vivek Goyal <vgoyal@redhat.com>, Dave Chinner <david@fromorbit.com>, Greg Thelen <gthelen@google.com> Subject: [PATCH v8 02/12] memcg: add page_cgroup flags for dirty page tracking Date: Fri, 3 Jun 2011 09:12:08 -0700 [thread overview] Message-ID: <1307117538-14317-3-git-send-email-gthelen@google.com> (raw) In-Reply-To: <1307117538-14317-1-git-send-email-gthelen@google.com> Add additional flags to page_cgroup to track dirty pages within a mem_cgroup. Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrea Righi <arighi@develer.com> Signed-off-by: Greg Thelen <gthelen@google.com> --- include/linux/page_cgroup.h | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h index 961ecc7..66d3245 100644 --- a/include/linux/page_cgroup.h +++ b/include/linux/page_cgroup.h @@ -10,6 +10,9 @@ enum { /* flags for mem_cgroup and file and I/O status */ PCG_MOVE_LOCK, /* For race between move_account v.s. following bits */ PCG_FILE_MAPPED, /* page is accounted as "mapped" */ + PCG_FILE_DIRTY, /* page is dirty */ + PCG_FILE_WRITEBACK, /* page is under writeback */ + PCG_FILE_UNSTABLE_NFS, /* page is NFS unstable */ /* No lock in page_cgroup */ PCG_ACCT_LRU, /* page has been accounted for (under lru_lock) */ __NR_PCG_FLAGS, @@ -67,6 +70,10 @@ static inline void ClearPageCgroup##uname(struct page_cgroup *pc) \ static inline int TestClearPageCgroup##uname(struct page_cgroup *pc) \ { return test_and_clear_bit(PCG_##lname, &pc->flags); } +#define TESTSETPCGFLAG(uname, lname) \ +static inline int TestSetPageCgroup##uname(struct page_cgroup *pc) \ + { return test_and_set_bit(PCG_##lname, &pc->flags); } + /* Cache flag is set only once (at allocation) */ TESTPCGFLAG(Cache, CACHE) CLEARPCGFLAG(Cache, CACHE) @@ -86,6 +93,22 @@ SETPCGFLAG(FileMapped, FILE_MAPPED) CLEARPCGFLAG(FileMapped, FILE_MAPPED) TESTPCGFLAG(FileMapped, FILE_MAPPED) +SETPCGFLAG(FileDirty, FILE_DIRTY) +CLEARPCGFLAG(FileDirty, FILE_DIRTY) +TESTPCGFLAG(FileDirty, FILE_DIRTY) +TESTCLEARPCGFLAG(FileDirty, FILE_DIRTY) +TESTSETPCGFLAG(FileDirty, FILE_DIRTY) + +SETPCGFLAG(FileWriteback, FILE_WRITEBACK) +CLEARPCGFLAG(FileWriteback, FILE_WRITEBACK) +TESTPCGFLAG(FileWriteback, FILE_WRITEBACK) + +SETPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) +CLEARPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) +TESTPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) +TESTCLEARPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) +TESTSETPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) + SETPCGFLAG(Migration, MIGRATION) CLEARPCGFLAG(Migration, MIGRATION) TESTPCGFLAG(Migration, MIGRATION) -- 1.7.3.1 -- 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: Greg Thelen <gthelen@google.com> To: Andrew Morton <akpm@linux-foundation.org> Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, containers@lists.osdl.org, linux-fsdevel@vger.kernel.org, Andrea Righi <arighi@develer.com>, Balbir Singh <balbir@linux.vnet.ibm.com>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>, Minchan Kim <minchan.kim@gmail.com>, Johannes Weiner <hannes@cmpxchg.org>, Ciju Rajan K <ciju@linux.vnet.ibm.com>, David Rientjes <rientjes@google.com>, Wu Fengguang <fengguang.wu@intel.com>, Vivek Goyal <vgoyal@redhat.com>, Dave Chinner <david@fromorbit.com>, Greg Thelen <gthelen@google.com> Subject: [PATCH v8 02/12] memcg: add page_cgroup flags for dirty page tracking Date: Fri, 3 Jun 2011 09:12:08 -0700 [thread overview] Message-ID: <1307117538-14317-3-git-send-email-gthelen@google.com> (raw) In-Reply-To: <1307117538-14317-1-git-send-email-gthelen@google.com> Add additional flags to page_cgroup to track dirty pages within a mem_cgroup. Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrea Righi <arighi@develer.com> Signed-off-by: Greg Thelen <gthelen@google.com> --- include/linux/page_cgroup.h | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h index 961ecc7..66d3245 100644 --- a/include/linux/page_cgroup.h +++ b/include/linux/page_cgroup.h @@ -10,6 +10,9 @@ enum { /* flags for mem_cgroup and file and I/O status */ PCG_MOVE_LOCK, /* For race between move_account v.s. following bits */ PCG_FILE_MAPPED, /* page is accounted as "mapped" */ + PCG_FILE_DIRTY, /* page is dirty */ + PCG_FILE_WRITEBACK, /* page is under writeback */ + PCG_FILE_UNSTABLE_NFS, /* page is NFS unstable */ /* No lock in page_cgroup */ PCG_ACCT_LRU, /* page has been accounted for (under lru_lock) */ __NR_PCG_FLAGS, @@ -67,6 +70,10 @@ static inline void ClearPageCgroup##uname(struct page_cgroup *pc) \ static inline int TestClearPageCgroup##uname(struct page_cgroup *pc) \ { return test_and_clear_bit(PCG_##lname, &pc->flags); } +#define TESTSETPCGFLAG(uname, lname) \ +static inline int TestSetPageCgroup##uname(struct page_cgroup *pc) \ + { return test_and_set_bit(PCG_##lname, &pc->flags); } + /* Cache flag is set only once (at allocation) */ TESTPCGFLAG(Cache, CACHE) CLEARPCGFLAG(Cache, CACHE) @@ -86,6 +93,22 @@ SETPCGFLAG(FileMapped, FILE_MAPPED) CLEARPCGFLAG(FileMapped, FILE_MAPPED) TESTPCGFLAG(FileMapped, FILE_MAPPED) +SETPCGFLAG(FileDirty, FILE_DIRTY) +CLEARPCGFLAG(FileDirty, FILE_DIRTY) +TESTPCGFLAG(FileDirty, FILE_DIRTY) +TESTCLEARPCGFLAG(FileDirty, FILE_DIRTY) +TESTSETPCGFLAG(FileDirty, FILE_DIRTY) + +SETPCGFLAG(FileWriteback, FILE_WRITEBACK) +CLEARPCGFLAG(FileWriteback, FILE_WRITEBACK) +TESTPCGFLAG(FileWriteback, FILE_WRITEBACK) + +SETPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) +CLEARPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) +TESTPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) +TESTCLEARPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) +TESTSETPCGFLAG(FileUnstableNFS, FILE_UNSTABLE_NFS) + SETPCGFLAG(Migration, MIGRATION) CLEARPCGFLAG(Migration, MIGRATION) TESTPCGFLAG(Migration, MIGRATION) -- 1.7.3.1
next prev parent reply other threads:[~2011-06-03 16:12 UTC|newest] Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-06-03 16:12 [PATCH v8 00/12] memcg: per cgroup dirty page accounting Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-03 16:12 ` [PATCH v8 01/12] memcg: document cgroup dirty memory interfaces Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-04 9:54 ` Minchan Kim 2011-06-04 9:54 ` Minchan Kim 2011-06-03 16:12 ` Greg Thelen [this message] 2011-06-03 16:12 ` [PATCH v8 02/12] memcg: add page_cgroup flags for dirty page tracking Greg Thelen 2011-06-04 9:56 ` Minchan Kim 2011-06-04 9:56 ` Minchan Kim 2011-06-03 16:12 ` [PATCH v8 03/12] memcg: add mem_cgroup_mark_inode_dirty() Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-03 23:09 ` Andrea Righi 2011-06-03 23:09 ` Andrea Righi 2011-06-03 23:45 ` Greg Thelen 2011-06-03 23:45 ` Greg Thelen 2011-06-07 7:27 ` KAMEZAWA Hiroyuki 2011-06-07 7:27 ` KAMEZAWA Hiroyuki 2011-06-03 16:12 ` [PATCH v8 04/12] memcg: add dirty page accounting infrastructure Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-04 10:11 ` Minchan Kim 2011-06-04 10:11 ` Minchan Kim 2011-06-07 7:28 ` KAMEZAWA Hiroyuki 2011-06-07 7:28 ` KAMEZAWA Hiroyuki 2011-06-03 16:12 ` [PATCH v8 05/12] memcg: add kernel calls for memcg dirty page stats Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-04 15:42 ` Minchan Kim 2011-06-04 15:42 ` Minchan Kim 2011-06-03 16:12 ` [PATCH v8 06/12] memcg: add dirty limits to mem_cgroup Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-04 15:57 ` Minchan Kim 2011-06-04 15:57 ` Minchan Kim 2011-06-03 16:12 ` [PATCH v8 07/12] memcg: add cgroupfs interface to memcg dirty limits Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-04 16:04 ` Minchan Kim 2011-06-04 16:04 ` Minchan Kim 2011-06-03 16:12 ` [PATCH v8 08/12] memcg: dirty page accounting support routines Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-07 7:44 ` KAMEZAWA Hiroyuki 2011-06-07 7:44 ` KAMEZAWA Hiroyuki 2011-06-03 16:12 ` [PATCH v8 09/12] memcg: create support routines for writeback Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-05 2:46 ` Minchan Kim 2011-06-05 2:46 ` Minchan Kim 2011-06-07 7:46 ` KAMEZAWA Hiroyuki 2011-06-07 7:46 ` KAMEZAWA Hiroyuki 2011-06-03 16:12 ` [PATCH v8 10/12] memcg: create support routines for page-writeback Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-05 3:11 ` Minchan Kim 2011-06-05 3:11 ` Minchan Kim 2011-06-06 18:47 ` Greg Thelen 2011-06-06 18:47 ` Greg Thelen 2011-06-07 8:50 ` KAMEZAWA Hiroyuki 2011-06-07 8:50 ` KAMEZAWA Hiroyuki 2011-06-07 15:58 ` Greg Thelen 2011-06-07 15:58 ` Greg Thelen 2011-06-08 0:01 ` KAMEZAWA Hiroyuki 2011-06-08 0:01 ` KAMEZAWA Hiroyuki 2011-06-08 1:50 ` Greg Thelen 2011-06-08 1:50 ` Greg Thelen 2011-06-03 16:12 ` [PATCH v8 11/12] writeback: make background writeback cgroup aware Greg Thelen 2011-06-03 16:12 ` Greg Thelen 2011-06-05 4:11 ` Minchan Kim 2011-06-05 4:11 ` Minchan Kim 2011-06-06 18:51 ` Greg Thelen 2011-06-06 18:51 ` Greg Thelen 2011-06-07 8:56 ` KAMEZAWA Hiroyuki 2011-06-07 8:56 ` KAMEZAWA Hiroyuki 2011-06-07 19:38 ` Vivek Goyal 2011-06-07 19:38 ` Vivek Goyal 2011-06-07 19:42 ` Vivek Goyal 2011-06-07 19:42 ` Vivek Goyal 2011-06-07 20:43 ` Greg Thelen 2011-06-07 20:43 ` Greg Thelen 2011-06-07 21:05 ` Vivek Goyal 2011-06-07 21:05 ` Vivek Goyal 2011-06-08 0:18 ` KAMEZAWA Hiroyuki 2011-06-08 0:18 ` KAMEZAWA Hiroyuki 2011-06-08 0:18 ` KAMEZAWA Hiroyuki 2011-06-08 4:02 ` Greg Thelen 2011-06-08 4:02 ` Greg Thelen 2011-06-08 4:02 ` Greg Thelen 2011-06-08 4:03 ` KAMEZAWA Hiroyuki 2011-06-08 4:03 ` KAMEZAWA Hiroyuki 2011-06-08 4:03 ` KAMEZAWA Hiroyuki 2011-06-08 5:20 ` Greg Thelen 2011-06-08 5:20 ` Greg Thelen 2011-06-08 20:42 ` Vivek Goyal 2011-06-08 20:42 ` Vivek Goyal 2011-06-08 20:42 ` Vivek Goyal 2011-06-08 20:39 ` Vivek Goyal 2011-06-08 20:39 ` Vivek Goyal 2011-06-09 17:55 ` Greg Thelen 2011-06-09 17:55 ` Greg Thelen 2011-06-09 21:26 ` Vivek Goyal 2011-06-09 21:26 ` Vivek Goyal 2011-06-09 21:26 ` Vivek Goyal 2011-06-09 22:21 ` Greg Thelen 2011-06-09 22:21 ` Greg Thelen 2011-06-09 22:21 ` Greg Thelen 2011-06-03 22:46 ` [PATCH v8 00/12] memcg: per cgroup dirty page accounting Hiroyuki Kamezawa 2011-06-03 22:46 ` Hiroyuki Kamezawa 2011-06-03 22:50 ` Greg Thelen 2011-06-03 22:50 ` Greg Thelen 2011-06-03 22:50 ` Greg Thelen
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=1307117538-14317-3-git-send-email-gthelen@google.com \ --to=gthelen@google.com \ --cc=akpm@linux-foundation.org \ --cc=arighi@develer.com \ --cc=balbir@linux.vnet.ibm.com \ --cc=ciju@linux.vnet.ibm.com \ --cc=containers@lists.osdl.org \ --cc=david@fromorbit.com \ --cc=fengguang.wu@intel.com \ --cc=hannes@cmpxchg.org \ --cc=kamezawa.hiroyu@jp.fujitsu.com \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=minchan.kim@gmail.com \ --cc=nishimura@mxp.nes.nec.co.jp \ --cc=rientjes@google.com \ --cc=vgoyal@redhat.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: linkBe 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.