|
@@ -9,62 +9,6 @@
|
|
#include <linux/tracepoint.h>
|
|
#include <linux/tracepoint.h>
|
|
#include <trace/events/mmflags.h>
|
|
#include <trace/events/mmflags.h>
|
|
|
|
|
|
-#define COMPACTION_STATUS \
|
|
|
|
- EM( COMPACT_SKIPPED, "skipped") \
|
|
|
|
- EM( COMPACT_DEFERRED, "deferred") \
|
|
|
|
- EM( COMPACT_CONTINUE, "continue") \
|
|
|
|
- EM( COMPACT_SUCCESS, "success") \
|
|
|
|
- EM( COMPACT_PARTIAL_SKIPPED, "partial_skipped") \
|
|
|
|
- EM( COMPACT_COMPLETE, "complete") \
|
|
|
|
- EM( COMPACT_NO_SUITABLE_PAGE, "no_suitable_page") \
|
|
|
|
- EM( COMPACT_NOT_SUITABLE_ZONE, "not_suitable_zone") \
|
|
|
|
- EMe(COMPACT_CONTENDED, "contended")
|
|
|
|
-
|
|
|
|
-#ifdef CONFIG_ZONE_DMA
|
|
|
|
-#define IFDEF_ZONE_DMA(X) X
|
|
|
|
-#else
|
|
|
|
-#define IFDEF_ZONE_DMA(X)
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
-#ifdef CONFIG_ZONE_DMA32
|
|
|
|
-#define IFDEF_ZONE_DMA32(X) X
|
|
|
|
-#else
|
|
|
|
-#define IFDEF_ZONE_DMA32(X)
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
-#ifdef CONFIG_HIGHMEM
|
|
|
|
-#define IFDEF_ZONE_HIGHMEM(X) X
|
|
|
|
-#else
|
|
|
|
-#define IFDEF_ZONE_HIGHMEM(X)
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
-#define ZONE_TYPE \
|
|
|
|
- IFDEF_ZONE_DMA( EM (ZONE_DMA, "DMA")) \
|
|
|
|
- IFDEF_ZONE_DMA32( EM (ZONE_DMA32, "DMA32")) \
|
|
|
|
- EM (ZONE_NORMAL, "Normal") \
|
|
|
|
- IFDEF_ZONE_HIGHMEM( EM (ZONE_HIGHMEM,"HighMem")) \
|
|
|
|
- EMe(ZONE_MOVABLE,"Movable")
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
- * First define the enums in the above macros to be exported to userspace
|
|
|
|
- * via TRACE_DEFINE_ENUM().
|
|
|
|
- */
|
|
|
|
-#undef EM
|
|
|
|
-#undef EMe
|
|
|
|
-#define EM(a, b) TRACE_DEFINE_ENUM(a);
|
|
|
|
-#define EMe(a, b) TRACE_DEFINE_ENUM(a);
|
|
|
|
-
|
|
|
|
-COMPACTION_STATUS
|
|
|
|
-ZONE_TYPE
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
- * Now redefine the EM() and EMe() macros to map the enums to the strings
|
|
|
|
- * that will be printed in the output.
|
|
|
|
- */
|
|
|
|
-#undef EM
|
|
|
|
-#undef EMe
|
|
|
|
-#define EM(a, b) {a, b},
|
|
|
|
-#define EMe(a, b) {a, b}
|
|
|
|
|
|
|
|
DECLARE_EVENT_CLASS(mm_compaction_isolate_template,
|
|
DECLARE_EVENT_CLASS(mm_compaction_isolate_template,
|
|
|
|
|
|
@@ -187,6 +131,7 @@ TRACE_EVENT(mm_compaction_begin,
|
|
__entry->sync ? "sync" : "async")
|
|
__entry->sync ? "sync" : "async")
|
|
);
|
|
);
|
|
|
|
|
|
|
|
+#ifdef CONFIG_COMPACTION
|
|
TRACE_EVENT(mm_compaction_end,
|
|
TRACE_EVENT(mm_compaction_end,
|
|
TP_PROTO(unsigned long zone_start, unsigned long migrate_pfn,
|
|
TP_PROTO(unsigned long zone_start, unsigned long migrate_pfn,
|
|
unsigned long free_pfn, unsigned long zone_end, bool sync,
|
|
unsigned long free_pfn, unsigned long zone_end, bool sync,
|
|
@@ -220,6 +165,7 @@ TRACE_EVENT(mm_compaction_end,
|
|
__entry->sync ? "sync" : "async",
|
|
__entry->sync ? "sync" : "async",
|
|
__print_symbolic(__entry->status, COMPACTION_STATUS))
|
|
__print_symbolic(__entry->status, COMPACTION_STATUS))
|
|
);
|
|
);
|
|
|
|
+#endif
|
|
|
|
|
|
TRACE_EVENT(mm_compaction_try_to_compact_pages,
|
|
TRACE_EVENT(mm_compaction_try_to_compact_pages,
|
|
|
|
|
|
@@ -248,6 +194,7 @@ TRACE_EVENT(mm_compaction_try_to_compact_pages,
|
|
__entry->prio)
|
|
__entry->prio)
|
|
);
|
|
);
|
|
|
|
|
|
|
|
+#ifdef CONFIG_COMPACTION
|
|
DECLARE_EVENT_CLASS(mm_compaction_suitable_template,
|
|
DECLARE_EVENT_CLASS(mm_compaction_suitable_template,
|
|
|
|
|
|
TP_PROTO(struct zone *zone,
|
|
TP_PROTO(struct zone *zone,
|
|
@@ -295,7 +242,6 @@ DEFINE_EVENT(mm_compaction_suitable_template, mm_compaction_suitable,
|
|
TP_ARGS(zone, order, ret)
|
|
TP_ARGS(zone, order, ret)
|
|
);
|
|
);
|
|
|
|
|
|
-#ifdef CONFIG_COMPACTION
|
|
|
|
DECLARE_EVENT_CLASS(mm_compaction_defer_template,
|
|
DECLARE_EVENT_CLASS(mm_compaction_defer_template,
|
|
|
|
|
|
TP_PROTO(struct zone *zone, int order),
|
|
TP_PROTO(struct zone *zone, int order),
|