fix: mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags (v5.2)
authorMichael Jeanson <mjeanson@efficios.com>
Tue, 21 May 2019 20:33:12 +0000 (16:33 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 22 May 2019 14:49:07 +0000 (10:49 -0400)
See upstream commit:

  commit 60b62ff7cc4217ac3de76535fa4c1510a798dbcb
  Author: Yafang Shao <laoar.shao@gmail.com>
  Date:   Mon May 13 17:23:08 2019 -0700

    mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags

    trace_reclaim_flags and trace_shrink_flags are almost the same.
    We can simplify them to avoid redundant code.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
instrumentation/events/lttng-module/mm_vmscan.h

index e9cbf5c88a9fc2a31c8fb5c3bf9ea1da4a6af5b0..f564dd057e012eab0c1db23f5c96ee12e42c7e35 100644 (file)
@@ -26,7 +26,16 @@ typedef int isolate_mode_t;
 
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
+#if (LINUX_VERSION_CODE >= 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 (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
 
 #include <linux/mm_inline.h>
 
@@ -559,7 +568,20 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
+#if (LINUX_VERSION_CODE >= 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 (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage,
 
        TP_PROTO(struct page *page),
@@ -586,7 +608,31 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
+#if (LINUX_VERSION_CODE >= 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, stat->nr_activate)
+               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 (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
 
        TP_PROTO(int nid,
This page took 0.027263 seconds and 4 git commands to generate.