X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fmm_vmscan.h;h=9845635b57e5b376ddc5aed2577f002c3b411c27;hb=e52717eabd3659a6d17ea977d253e437c047d83b;hp=1a4d95d34ce15d945fdcf24e10ce48e8bfc3d46f;hpb=6ec43db836429730c1431809049197a4fbe820fa;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/mm_vmscan.h b/instrumentation/events/lttng-module/mm_vmscan.h index 1a4d95d3..9845635b 100644 --- a/instrumentation/events/lttng-module/mm_vmscan.h +++ b/instrumentation/events/lttng-module/mm_vmscan.h @@ -8,7 +8,6 @@ #include #include #include -#include #include #ifndef _TRACE_VMSCAN_DEF @@ -54,6 +53,23 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_sleep, ) ) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) + +LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake, + + TP_PROTO(int nid, int zid, int order), + + TP_ARGS(nid, zid, order), + + TP_FIELDS( + ctf_integer(int, nid, nid) + ctf_integer(int, zid, zid) + ctf_integer(int, order, order) + ) +) + +#else + LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake, TP_PROTO(int nid, int order), @@ -66,6 +82,8 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake, ) ) +#endif + LTTNG_TRACEPOINT_EVENT(mm_vmscan_wakeup_kswapd, TP_PROTO(int nid, int zid, int order), @@ -79,6 +97,45 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_wakeup_kswapd, ) ) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) + +LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template, + + TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx), + + TP_ARGS(order, may_writepage, gfp_flags, classzone_idx), + + TP_FIELDS( + ctf_integer(int, order, order) + ctf_integer(int, may_writepage, may_writepage) + ctf_integer(gfp_t, gfp_flags, gfp_flags) + ctf_integer(int, classzone_idx, classzone_idx) + ) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin, + + TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx), + + TP_ARGS(order, may_writepage, gfp_flags, classzone_idx) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin, + + TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx), + + TP_ARGS(order, may_writepage, gfp_flags, classzone_idx) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin, + + TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx), + + TP_ARGS(order, may_writepage, gfp_flags, classzone_idx) +) + +#else + LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template, TP_PROTO(int order, int may_writepage, gfp_t gfp_flags), @@ -113,6 +170,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmsc TP_ARGS(order, may_writepage, gfp_flags) ) +#endif + LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_end_template, TP_PROTO(unsigned long nr_reclaimed), @@ -222,6 +281,95 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end, #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */ #endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) +LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate, + + TP_PROTO(int classzone_idx, + int order, + unsigned long nr_requested, + unsigned long nr_scanned, + unsigned long nr_skipped, + unsigned long nr_taken, + isolate_mode_t isolate_mode, + int lru + ), + + TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped, + nr_taken, isolate_mode, lru + ), + + TP_FIELDS( + ctf_integer(int, classzone_idx, classzone_idx) + ctf_integer(int, order, order) + ctf_integer(unsigned long, nr_requested, nr_requested) + ctf_integer(unsigned long, nr_scanned, nr_scanned) + ctf_integer(unsigned long, nr_skipped, nr_skipped) + ctf_integer(unsigned long, nr_taken, nr_taken) + ctf_integer(isolate_mode_t, isolate_mode, isolate_mode) + ctf_integer(int, lru, lru) + ) +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) +LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template, + + TP_PROTO(int classzone_idx, + int order, + unsigned long nr_requested, + unsigned long nr_scanned, + unsigned long nr_taken, + isolate_mode_t isolate_mode, + int file + ), + + TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_taken, + isolate_mode, file + ), + + + TP_FIELDS( + ctf_integer(int, classzone_idx, classzone_idx) + ctf_integer(int, order, order) + ctf_integer(unsigned long, nr_requested, nr_requested) + ctf_integer(unsigned long, nr_scanned, nr_scanned) + ctf_integer(unsigned long, nr_taken, nr_taken) + ctf_integer(isolate_mode_t, isolate_mode, isolate_mode) + ctf_integer(int, file, file) + ) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate, + + TP_PROTO(int classzone_idx, + int order, + unsigned long nr_requested, + unsigned long nr_scanned, + unsigned long nr_taken, + isolate_mode_t isolate_mode, + int file + ), + + TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_taken, + isolate_mode, file + ) + +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_isolate, + + TP_PROTO(int classzone_idx, + int order, + unsigned long nr_requested, + unsigned long nr_scanned, + unsigned long nr_taken, + isolate_mode_t isolate_mode, + int file + ), + + TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_taken, + isolate_mode, file + ) +) +#else LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template, TP_PROTO(int order, @@ -332,6 +480,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_ #endif ) ) +#endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)) LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage, @@ -360,7 +509,54 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage, ) #endif -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) +LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive, + + TP_PROTO(int nid, + unsigned long nr_scanned, unsigned long nr_reclaimed, + unsigned long nr_dirty, unsigned long nr_writeback, + unsigned long nr_congested, unsigned long nr_immediate, + unsigned long nr_activate, unsigned long nr_ref_keep, + unsigned long nr_unmap_fail, + int priority, int file), + + TP_ARGS(nid, nr_scanned, nr_reclaimed, nr_dirty, nr_writeback, + nr_congested, nr_immediate, nr_activate, nr_ref_keep, + nr_unmap_fail, priority, file), + + TP_FIELDS( + ctf_integer(int, nid, nid) + ctf_integer(unsigned long, nr_scanned, nr_scanned) + ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed) + ctf_integer(unsigned long, nr_dirty, nr_dirty) + ctf_integer(unsigned long, nr_writeback, nr_writeback) + ctf_integer(unsigned long, nr_congested, nr_congested) + ctf_integer(unsigned long, nr_immediate, nr_immediate) + ctf_integer(unsigned long, nr_activate, nr_activate) + ctf_integer(unsigned long, nr_ref_keep, nr_ref_keep) + ctf_integer(unsigned long, nr_unmap_fail, nr_unmap_fail) + ctf_integer(int, priority, priority) + ctf_integer(int, reclaim_flags, trace_shrink_flags(file)) + ) +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) +LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive, + + TP_PROTO(int nid, + unsigned long nr_scanned, unsigned long nr_reclaimed, + int priority, int file), + + TP_ARGS(nid, nr_scanned, nr_reclaimed, priority, file), + + TP_FIELDS( + ctf_integer(int, nid, nid) + ctf_integer(unsigned long, nr_scanned, nr_scanned) + ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed) + ctf_integer(int, priority, priority) + ctf_integer(int, reclaim_flags, trace_shrink_flags(file)) + ) +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)) LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive, TP_PROTO(struct zone *zone,