mm, compaction: introduce kcompactd
[linux-2.6-microblaze.git] / include / trace / events / compaction.h
index c92d1e1..e215bf6 100644 (file)
@@ -7,7 +7,7 @@
 #include <linux/types.h>
 #include <linux/list.h>
 #include <linux/tracepoint.h>
-#include <trace/events/gfpflags.h>
+#include <trace/events/mmflags.h>
 
 #define COMPACTION_STATUS                                      \
        EM( COMPACT_DEFERRED,           "deferred")             \
@@ -350,6 +350,61 @@ DEFINE_EVENT(mm_compaction_defer_template, mm_compaction_defer_reset,
 );
 #endif
 
+TRACE_EVENT(mm_compaction_kcompactd_sleep,
+
+       TP_PROTO(int nid),
+
+       TP_ARGS(nid),
+
+       TP_STRUCT__entry(
+               __field(int, nid)
+       ),
+
+       TP_fast_assign(
+               __entry->nid = nid;
+       ),
+
+       TP_printk("nid=%d", __entry->nid)
+);
+
+DECLARE_EVENT_CLASS(kcompactd_wake_template,
+
+       TP_PROTO(int nid, int order, enum zone_type classzone_idx),
+
+       TP_ARGS(nid, order, classzone_idx),
+
+       TP_STRUCT__entry(
+               __field(int, nid)
+               __field(int, order)
+               __field(enum zone_type, classzone_idx)
+       ),
+
+       TP_fast_assign(
+               __entry->nid = nid;
+               __entry->order = order;
+               __entry->classzone_idx = classzone_idx;
+       ),
+
+       TP_printk("nid=%d order=%d classzone_idx=%-8s",
+               __entry->nid,
+               __entry->order,
+               __print_symbolic(__entry->classzone_idx, ZONE_TYPE))
+);
+
+DEFINE_EVENT(kcompactd_wake_template, mm_compaction_wakeup_kcompactd,
+
+       TP_PROTO(int nid, int order, enum zone_type classzone_idx),
+
+       TP_ARGS(nid, order, classzone_idx)
+);
+
+DEFINE_EVENT(kcompactd_wake_template, mm_compaction_kcompactd_wake,
+
+       TP_PROTO(int nid, int order, enum zone_type classzone_idx),
+
+       TP_ARGS(nid, order, classzone_idx)
+);
+
 #endif /* _TRACE_COMPACTION_H */
 
 /* This part must be outside protection */