Namespace kernel version macros
[lttng-modules.git] / instrumentation / events / lttng-module / mm_vmscan.h
index 9a77ead946d4814c2df50050808575713c9d8d78..dd845590f97322b8a374df308e508cac8cd00171 100644 (file)
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM mm_vmscan
 
@@ -8,7 +9,7 @@
 #include <linux/types.h>
 #include <linux/mm.h>
 #include <linux/memcontrol.h>
-#include <linux/version.h>
+#include <lttng-kernel-version.h>
 
 #ifndef _TRACE_VMSCAN_DEF
 #define _TRACE_VMSCAN_DEF
 #define RECLAIM_WB_SYNC                0x0004u /* Unused, all reclaim async */
 #define RECLAIM_WB_ASYNC       0x0008u
 
-#if ((LINUX_VERSION_CODE <= KERNEL_VERSION(3,0,38)) || \
+#if ((LTTNG_LINUX_VERSION_CODE <= LTTNG_KERNEL_VERSION(3,0,38)) || \
        LTTNG_KERNEL_RANGE(3,1,0, 3,2,0))
 typedef int isolate_mode_t;
 #endif
 
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0))
+
+#include <linux/mm_inline.h>
+
+#define trace_reclaim_flags(file) ( \
+       (file ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \
+       (RECLAIM_WB_ASYNC) \
+       )
+
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,5,0))
 
 #include <linux/mm_inline.h>
 
@@ -53,7 +63,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_sleep,
        )
 )
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
 
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake,
 
@@ -84,7 +94,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake,
 
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,17,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_wakeup_kswapd,
 
        TP_PROTO(int nid, int zid, int order, gfp_t gfp_flags),
@@ -113,7 +123,42 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_wakeup_kswapd,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0))
+
+LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template,
+
+       TP_PROTO(int order, gfp_t gfp_flags),
+
+       TP_ARGS(order, gfp_flags),
+
+       TP_FIELDS(
+               ctf_integer(int, order, order)
+               ctf_integer(gfp_t, gfp_flags, gfp_flags)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin,
+
+       TP_PROTO(int order, gfp_t gfp_flags),
+
+       TP_ARGS(order, gfp_flags)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin,
+
+       TP_PROTO(int order, gfp_t gfp_flags),
+
+       TP_ARGS(order, gfp_flags)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin,
+
+       TP_PROTO(int order, gfp_t gfp_flags),
+
+       TP_ARGS(order, gfp_flags)
+)
+
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
 
 LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template,
 
@@ -220,7 +265,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_end_template, mm_vmscan
        TP_ARGS(nr_reclaimed)
 )
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,16,0))
 LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start,
 
        mm_vmscan_shrink_slab_start,
@@ -245,7 +290,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start,
                ctf_integer(int, priority, priority)
        )
 )
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,1,0))
 LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start,
 
        mm_vmscan_shrink_slab_start,
@@ -260,11 +305,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start,
 
        TP_FIELDS(
                ctf_integer_hex(struct shrinker *, shr, shr)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
                ctf_integer_hex(void *, shrink, shr->scan_objects)
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
+#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
                ctf_integer_hex(void *, shrink, shr->shrink)
-#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
+#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_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)
                ctf_integer(unsigned long, pgs_scanned, pgs_scanned)
@@ -276,7 +321,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,16,0))
 LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end,
 
        mm_vmscan_shrink_slab_end,
@@ -297,7 +342,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end,
                ctf_integer(long, total_scan, total_scan)
        )
 )
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,1,0))
 LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end,
 
        mm_vmscan_shrink_slab_end,
@@ -309,11 +354,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end,
 
        TP_FIELDS(
                ctf_integer_hex(struct shrinker *, shr, shr)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
                ctf_integer_hex(void *, shrink, shr->scan_objects)
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
+#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
                ctf_integer_hex(void *, shrink, shr->shrink)
-#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
+#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */
                ctf_integer(long, unused_scan, unused_scan_cnt)
                ctf_integer(long, new_scan, new_scan_cnt)
                ctf_integer(int, retval, shrinker_retval)
@@ -322,7 +367,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate,
 
        TP_PROTO(int classzone_idx,
@@ -350,7 +395,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate,
                ctf_integer(int, lru, lru)
        )
 )
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
 LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template,
 
        TP_PROTO(int classzone_idx,
@@ -417,12 +462,12 @@ LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template,
                unsigned long nr_requested,
                unsigned long nr_scanned,
                unsigned long nr_taken,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,5,0))
                unsigned long nr_lumpy_taken,
                unsigned long nr_lumpy_dirty,
                unsigned long nr_lumpy_failed,
 #endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,3,0))
                isolate_mode_t isolate_mode
 #else
                isolate_mode_t isolate_mode,
@@ -431,10 +476,10 @@ LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template,
        ),
 
        TP_ARGS(order, nr_requested, nr_scanned, nr_taken,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,5,0))
                nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed,
 #endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,3,0))
                isolate_mode
 #else
                isolate_mode, file
@@ -447,13 +492,13 @@ LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template,
                ctf_integer(unsigned long, nr_requested, nr_requested)
                ctf_integer(unsigned long, nr_scanned, nr_scanned)
                ctf_integer(unsigned long, nr_taken, nr_taken)
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,5,0))
                ctf_integer(unsigned long, nr_lumpy_taken, nr_lumpy_taken)
                ctf_integer(unsigned long, nr_lumpy_dirty, nr_lumpy_dirty)
                ctf_integer(unsigned long, nr_lumpy_failed, nr_lumpy_failed)
 #endif
                ctf_integer(isolate_mode_t, isolate_mode, isolate_mode)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
                ctf_integer(int, file, file)
 #endif
        )
@@ -465,12 +510,12 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_lru_is
                unsigned long nr_requested,
                unsigned long nr_scanned,
                unsigned long nr_taken,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,5,0))
                unsigned long nr_lumpy_taken,
                unsigned long nr_lumpy_dirty,
                unsigned long nr_lumpy_failed,
 #endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,3,0))
                isolate_mode_t isolate_mode
 #else
                isolate_mode_t isolate_mode,
@@ -479,10 +524,10 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_lru_is
        ),
 
        TP_ARGS(order, nr_requested, nr_scanned, nr_taken,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,5,0))
                nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed,
 #endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,3,0))
                isolate_mode
 #else
                isolate_mode, file
@@ -497,12 +542,12 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_
                unsigned long nr_requested,
                unsigned long nr_scanned,
                unsigned long nr_taken,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,5,0))
                unsigned long nr_lumpy_taken,
                unsigned long nr_lumpy_dirty,
                unsigned long nr_lumpy_failed,
 #endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,3,0))
                isolate_mode_t isolate_mode
 #else
                isolate_mode_t isolate_mode,
@@ -511,10 +556,10 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_
        ),
 
        TP_ARGS(order, nr_requested, nr_scanned, nr_taken,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,5,0))
                nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed,
 #endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,3,0))
                isolate_mode
 #else
                isolate_mode, file
@@ -523,7 +568,33 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,7,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_is_file_lru(page)))
+       )
+)
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,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_is_file_cache(page)))
+       )
+)
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,5,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage,
 
        TP_PROTO(struct page *page),
@@ -550,7 +621,32 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0))
+LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
+
+       TP_PROTO(int nid,
+               unsigned long nr_scanned, unsigned long nr_reclaimed,
+               struct reclaim_stat *stat, int priority, int file),
+
+       TP_ARGS(nid, nr_scanned, nr_reclaimed, stat, 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, stat->nr_dirty)
+               ctf_integer(unsigned long, nr_writeback, stat->nr_writeback)
+               ctf_integer(unsigned long, nr_congested, stat->nr_congested)
+               ctf_integer(unsigned long, nr_immediate, stat->nr_immediate)
+               ctf_integer(unsigned long, nr_activate_anon, stat->nr_activate[0])
+               ctf_integer(unsigned long, nr_activate_file, stat->nr_activate[1])
+               ctf_integer(unsigned long, nr_ref_keep, stat->nr_ref_keep)
+               ctf_integer(unsigned long, nr_unmap_fail, stat->nr_unmap_fail)
+               ctf_integer(int, priority, priority)
+               ctf_integer(int, reclaim_flags, trace_reclaim_flags(file))
+       )
+)
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,17,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
 
        TP_PROTO(int nid,
@@ -574,7 +670,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
                ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
        )
 )
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
 
        TP_PROTO(int nid,
@@ -604,7 +700,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
                ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
        )
 )
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
 
        TP_PROTO(int nid,
@@ -621,7 +717,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
                ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
        )
 )
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,5,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
 
        TP_PROTO(struct zone *zone,
@@ -639,7 +735,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
                ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
        )
 )
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+#else
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
 
        TP_PROTO(int nid, int zid,
@@ -659,7 +755,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
 )
 #endif
 
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
+#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,5,0))
 LTTNG_TRACEPOINT_EVENT_MAP(replace_swap_token,
 
        mm_vmscan_replace_swap_token,
This page took 0.031162 seconds and 4 git commands to generate.