aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>2010-08-09 20:19:57 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-09 23:45:03 -0400
commitcc8e970c3ce4d98afa8eb02dbd2526ce57f7611a (patch)
tree621ce988444b6df6eb67058b05ca5ddef23f6103
parente17613c39b8894c164df782d0508c27ca559c24b (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.h15
-rw-r--r--mm/memcontrol.c6
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
234DEFINE_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
234TRACE_EVENT(mm_vmscan_writepage, 249TRACE_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
54struct cgroup_subsys mem_cgroup_subsys __read_mostly; 56struct cgroup_subsys mem_cgroup_subsys __read_mostly;
55#define MEM_CGROUP_RECLAIM_RETRIES 5 57#define MEM_CGROUP_RECLAIM_RETRIES 5
56struct mem_cgroup *root_mem_cgroup __read_mostly; 58struct 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