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 | ||
