diff options
author | KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> | 2010-08-09 20:19:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-09 23:45:03 -0400 |
commit | cc8e970c3ce4d98afa8eb02dbd2526ce57f7611a (patch) | |
tree | 621ce988444b6df6eb67058b05ca5ddef23f6103 | |
parent | e17613c39b8894c164df782d0508c27ca559c24b (diff) |
memcg: add mm_vmscan_memcg_isolate tracepoint
Memcg also need to trace page isolation information as global reclaim.
This patch does it.
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/trace/events/vmscan.h | 15 | ||||
-rw-r--r-- | mm/memcontrol.c | 6 |
2 files changed, 21 insertions, 0 deletions
diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index d9656444a7ca..370aa5a87322 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h | |||
@@ -231,6 +231,21 @@ DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate, | |||
231 | 231 | ||
232 | ); | 232 | ); |
233 | 233 | ||
234 | DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_isolate, | ||
235 | |||
236 | TP_PROTO(int order, | ||
237 | unsigned long nr_requested, | ||
238 | unsigned long nr_scanned, | ||
239 | unsigned long nr_taken, | ||
240 | unsigned long nr_lumpy_taken, | ||
241 | unsigned long nr_lumpy_dirty, | ||
242 | unsigned long nr_lumpy_failed, | ||
243 | int isolate_mode), | ||
244 | |||
245 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode) | ||
246 | |||
247 | ); | ||
248 | |||
234 | TRACE_EVENT(mm_vmscan_writepage, | 249 | TRACE_EVENT(mm_vmscan_writepage, |
235 | 250 | ||
236 | TP_PROTO(struct page *page, | 251 | TP_PROTO(struct page *page, |
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index de54ea0094a1..0576e9e64586 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -51,6 +51,8 @@ | |||
51 | 51 | ||
52 | #include <asm/uaccess.h> | 52 | #include <asm/uaccess.h> |
53 | 53 | ||
54 | #include <trace/events/vmscan.h> | ||
55 | |||
54 | struct cgroup_subsys mem_cgroup_subsys __read_mostly; | 56 | struct cgroup_subsys mem_cgroup_subsys __read_mostly; |
55 | #define MEM_CGROUP_RECLAIM_RETRIES 5 | 57 | #define MEM_CGROUP_RECLAIM_RETRIES 5 |
56 | struct mem_cgroup *root_mem_cgroup __read_mostly; | 58 | struct mem_cgroup *root_mem_cgroup __read_mostly; |
@@ -1007,6 +1009,10 @@ unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, | |||
1007 | } | 1009 | } |
1008 | 1010 | ||
1009 | *scanned = scan; | 1011 | *scanned = scan; |
1012 | |||
1013 | trace_mm_vmscan_memcg_isolate(0, nr_to_scan, scan, nr_taken, | ||
1014 | 0, 0, 0, mode); | ||
1015 | |||
1010 | return nr_taken; | 1016 | return nr_taken; |
1011 | } | 1017 | } |
1012 | 1018 | ||