Memcg also need to trace page isolation information as global reclaim. This patch does it. Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> --- include/trace/events/vmscan.h | 15 +++++++++++++++ mm/memcontrol.c | 7 +++++++ 2 files changed, 22 insertions(+), 0 deletions(-) diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index e37fe72..eefd399 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h @@ -213,6 +213,21 @@ DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate, ); +DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_isolate, + + TP_PROTO(int order, + unsigned long nr_requested, + unsigned long nr_scanned, + unsigned long nr_taken, + unsigned long nr_lumpy_taken, + unsigned long nr_lumpy_dirty, + unsigned long nr_lumpy_failed, + int isolate_mode), + + TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode) + +); + TRACE_EVENT(mm_vmscan_writepage, TP_PROTO(struct page *page, diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 81bc9bf..82e191f 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -52,6 +52,9 @@ #include <asm/uaccess.h> +#include <trace/events/vmscan.h> + + struct cgroup_subsys mem_cgroup_subsys __read_mostly; #define MEM_CGROUP_RECLAIM_RETRIES 5 struct mem_cgroup *root_mem_cgroup __read_mostly; @@ -1042,6 +1045,10 @@ unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, } *scanned = scan; + + trace_mm_vmscan_memcg_isolate(0, nr_to_scan, scan, nr_taken, + 0, 0, 0, mode); + return nr_taken; } -- 1.6.5.2 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>