X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fmm_vmscan.h;h=56f020ee3fff061025d863e006013284f9aa3f04;hb=45e0ded1ac1afc1be1b077fb8d741a8ec8897778;hp=a6d7fbf23560e2be8c6757923e8e826434caade1;hpb=f127e61ee231d002fb9a7803643a157e06f6d2e2;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/mm_vmscan.h b/instrumentation/events/lttng-module/mm_vmscan.h index a6d7fbf2..56f020ee 100644 --- a/instrumentation/events/lttng-module/mm_vmscan.h +++ b/instrumentation/events/lttng-module/mm_vmscan.h @@ -4,11 +4,10 @@ #if !defined(LTTNG_TRACE_MM_VMSCAN_H) || defined(TRACE_HEADER_MULTI_READ) #define LTTNG_TRACE_MM_VMSCAN_H -#include "../../../probes/lttng-tracepoint-event.h" +#include #include #include #include -#include #include #ifndef _TRACE_VMSCAN_DEF @@ -26,6 +25,23 @@ typedef int isolate_mode_t; #endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)) + +#include + +#define trace_reclaim_flags(page) ( \ + (page_is_file_cache(page) ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \ + (RECLAIM_WB_ASYNC) \ + ) + +#define trace_shrink_flags(file) \ + ( \ + (file ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \ + (RECLAIM_WB_ASYNC) \ + ) + +#endif + LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_sleep, TP_PROTO(int nid), @@ -142,11 +158,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start, cache_items, delta, total_scan), TP_FIELDS( - ctf_integer(struct shrinker *, shr, shr) + ctf_integer_hex(struct shrinker *, shr, shr) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) - ctf_integer(void *, shrink, shr->scan_objects) + ctf_integer_hex(void *, shrink, shr->scan_objects) #else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */ - ctf_integer(void *, shrink, shr->shrink) + ctf_integer_hex(void *, shrink, shr->shrink) #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */ ctf_integer(long, nr_objects_to_shrink, nr_objects_to_shrink) ctf_integer(gfp_t, gfp_flags, sc->gfp_mask) @@ -170,9 +186,9 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end, total_scan), TP_FIELDS( - ctf_integer(struct shrinker *, shr, shr) + ctf_integer_hex(struct shrinker *, shr, shr) ctf_integer(int, nid, nid) - ctf_integer(void *, shrink, shr->scan_objects) + ctf_integer_hex(void *, shrink, shr->scan_objects) ctf_integer(long, unused_scan, unused_scan_cnt) ctf_integer(long, new_scan, new_scan_cnt) ctf_integer(int, retval, shrinker_retval) @@ -190,11 +206,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end, TP_ARGS(shr, shrinker_retval, unused_scan_cnt, new_scan_cnt), TP_FIELDS( - ctf_integer(struct shrinker *, shr, shr) + ctf_integer_hex(struct shrinker *, shr, shr) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) - ctf_integer(void *, shrink, shr->scan_objects) + ctf_integer_hex(void *, shrink, shr->scan_objects) #else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */ - ctf_integer(void *, shrink, shr->shrink) + ctf_integer_hex(void *, shrink, shr->shrink) #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */ ctf_integer(long, unused_scan, unused_scan_cnt) ctf_integer(long, new_scan, new_scan_cnt) @@ -316,6 +332,19 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_ ) ) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)) +LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage, + + TP_PROTO(struct page *page), + + TP_ARGS(page), + + TP_FIELDS( + ctf_integer_hex(struct page *, page, page) + ctf_integer(int, reclaim_flags, trace_reclaim_flags(page)) + ) +) +#else LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage, TP_PROTO(struct page *page, @@ -324,12 +353,31 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage, TP_ARGS(page, reclaim_flags), TP_FIELDS( - ctf_integer(struct page *, page, page) + ctf_integer_hex(struct page *, page, page) ctf_integer(int, reclaim_flags, reclaim_flags) ) ) +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)) +LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive, + + TP_PROTO(struct zone *zone, + unsigned long nr_scanned, unsigned long nr_reclaimed, + int priority, int file), + + TP_ARGS(zone, nr_scanned, nr_reclaimed, priority, file), -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) + TP_FIELDS( + ctf_integer(int, nid, zone_to_nid(zone)) + ctf_integer(int, zid, zone_idx(zone)) + 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(2,6,37)) LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive, TP_PROTO(int nid, int zid, @@ -360,9 +408,9 @@ LTTNG_TRACEPOINT_EVENT_MAP(replace_swap_token, TP_ARGS(old_mm, new_mm), TP_FIELDS( - ctf_integer(struct mm_struct *, old_mm, old_mm) + ctf_integer_hex(struct mm_struct *, old_mm, old_mm) ctf_integer(unsigned int, old_prio, old_mm ? old_mm->token_priority : 0) - ctf_integer(struct mm_struct *, new_mm, new_mm) + ctf_integer_hex(struct mm_struct *, new_mm, new_mm) ctf_integer(unsigned int, new_prio, new_mm->token_priority) ) ) @@ -373,7 +421,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_put_swap_token_template, TP_ARGS(swap_token_mm), TP_FIELDS( - ctf_integer(struct mm_struct*, swap_token_mm, swap_token_mm) + ctf_integer_hex(struct mm_struct*, swap_token_mm, swap_token_mm) ) ) @@ -404,10 +452,10 @@ LTTNG_TRACEPOINT_EVENT_MAP(update_swap_token_priority, TP_ARGS(mm, old_prio, swap_token_mm), TP_FIELDS( - ctf_integer(struct mm_struct*, mm, mm) + ctf_integer_hex(struct mm_struct *, mm, mm) ctf_integer(unsigned int, old_prio, old_prio) ctf_integer(unsigned int, new_prio, mm->token_priority) - ctf_integer(struct mm_struct*, swap_token_mm, swap_token_mm) + ctf_integer_hex(struct mm_struct *, swap_token_mm, swap_token_mm) ctf_integer(unsigned int, swap_token_prio, swap_token_mm ? swap_token_mm->token_priority : 0) ) ) @@ -416,4 +464,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(update_swap_token_priority, #endif /* LTTNG_TRACE_MM_VMSCAN_H */ /* This part must be outside protection */ -#include "../../../probes/define_trace.h" +#include