Use system include path in wrappers
[lttng-modules.git] / instrumentation / events / lttng-module / mm_vmscan.h
index a6d7fbf23560e2be8c6757923e8e826434caade1..339e6fb74c79a3a1f5e3c0cfdbd41695768c247f 100644 (file)
@@ -26,6 +26,23 @@ typedef int isolate_mode_t;
 
 #endif
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
+
+#include <linux/mm_inline.h>
+
+#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 +159,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 +187,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 +207,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 +333,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 +354,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 +409,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 +422,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 +453,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)
        )
 )
This page took 0.025377 seconds and 4 git commands to generate.