X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fcompaction.h;h=c6db6d0585d2ffb876da4f38741448c57a2e4bfe;hb=9f36eaed6f91d5897924b551b44d1edd8cee00e2;hp=992b5be500e3ce1f94cc2d5745d46530168d9500;hpb=9bbf98da13bbaf289ac5787a80325d2e1dd81d0d;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/compaction.h b/instrumentation/events/lttng-module/compaction.h index 992b5be5..c6db6d05 100644 --- a/instrumentation/events/lttng-module/compaction.h +++ b/instrumentation/events/lttng-module/compaction.h @@ -1,13 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM compaction #if !defined(LTTNG_TRACE_COMPACTION_H) || defined(TRACE_HEADER_MULTI_READ) #define LTTNG_TRACE_COMPACTION_H -#include "../../../probes/lttng-tracepoint-event.h" +#include #include #include -#include #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) @@ -20,28 +20,19 @@ LTTNG_TRACEPOINT_EVENT_CLASS(compaction_isolate_template, TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken), - TP_STRUCT__entry( - __field(unsigned long, start_pfn) - __field(unsigned long, end_pfn) - __field(unsigned long, nr_scanned) - __field(unsigned long, nr_taken) - ), + TP_FIELDS( + ctf_integer(unsigned long, start_pfn, start_pfn) + ctf_integer(unsigned long, end_pfn, end_pfn) + ctf_integer(unsigned long, nr_scanned, nr_scanned) + ctf_integer(unsigned long, nr_taken, nr_taken) + ) +) - TP_fast_assign( - tp_assign(start_pfn, start_pfn) - tp_assign(end_pfn, end_pfn) - tp_assign(nr_scanned, nr_scanned) - tp_assign(nr_taken, nr_taken) - ), +LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template, - TP_printk("range=(0x%lx ~ 0x%lx) nr_scanned=%lu nr_taken=%lu", - __entry->start_pfn, - __entry->end_pfn, - __entry->nr_scanned, - __entry->nr_taken) -) + mm_compaction_isolate_migratepages, -LTTNG_TRACEPOINT_EVENT_INSTANCE(compaction_isolate_template, mm_compaction_isolate_migratepages, + compaction_isolate_migratepages, TP_PROTO(unsigned long start_pfn, unsigned long end_pfn, @@ -51,7 +42,11 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(compaction_isolate_template, mm_compaction_isola TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken) ) -LTTNG_TRACEPOINT_EVENT_INSTANCE(compaction_isolate_template, mm_compaction_isolate_freepages, +LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template, + + mm_compaction_isolate_freepages, + + compaction_isolate_freepages, TP_PROTO(unsigned long start_pfn, unsigned long end_pfn, @@ -70,19 +65,10 @@ LTTNG_TRACEPOINT_EVENT_CLASS(compaction_isolate_template, TP_ARGS(nr_scanned, nr_taken), - TP_STRUCT__entry( - __field(unsigned long, nr_scanned) - __field(unsigned long, nr_taken) - ), - - TP_fast_assign( - tp_assign(nr_scanned, nr_scanned) - tp_assign(nr_taken, nr_taken) - ), - - TP_printk("nr_scanned=%lu nr_taken=%lu", - __entry->nr_scanned, - __entry->nr_taken) + TP_FIELDS( + ctf_integer(unsigned long, nr_scanned, nr_scanned) + ctf_integer(unsigned long, nr_taken, nr_taken) + ) ) LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template, @@ -114,7 +100,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template, #if LTTNG_KERNEL_RANGE(3,12,30, 3,13,0) || \ LTTNG_KERNEL_RANGE(3,14,25, 3,15,0) || \ (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) -LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages, +LTTNG_TRACEPOINT_EVENT_CODE_MAP(mm_compaction_migratepages, compaction_migratepages, @@ -124,37 +110,30 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages, TP_ARGS(nr_all, migrate_rc, migratepages), - TP_STRUCT__entry( - __field(unsigned long, nr_migrated) - __field(unsigned long, nr_failed) + TP_locvar( + unsigned long nr_failed; + ), + + TP_code_pre( + tp_locvar->nr_failed = 0; + + { + struct list_head *page_lru; + + if (migrate_rc >= 0) + tp_locvar->nr_failed = migrate_rc; + else + list_for_each(page_lru, migratepages) + tp_locvar->nr_failed++; + } ), - TP_fast_assign( - tp_assign(nr_migrated, - nr_all - - (migrate_rc >= 0 ? migrate_rc : - ({ - unsigned long nr_failed = 0; - struct list_head *page_lru; - - list_for_each(page_lru, migratepages) - nr_failed++; - nr_failed; - }))) - tp_assign(nr_failed, - ({ - unsigned long nr_failed = 0; - struct list_head *page_lru; - - list_for_each(page_lru, migratepages) - nr_failed++; - nr_failed; - })) + TP_FIELDS( + ctf_integer(unsigned long, nr_migrated, nr_all - tp_locvar->nr_failed) + ctf_integer(unsigned long, nr_failed, tp_locvar->nr_failed) ), - TP_printk("nr_migrated=%lu nr_failed=%lu", - __entry->nr_migrated, - __entry->nr_failed) + TP_code_post() ) #else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */ LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages, @@ -166,23 +145,14 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages, TP_ARGS(nr_migrated, nr_failed), - TP_STRUCT__entry( - __field(unsigned long, nr_migrated) - __field(unsigned long, nr_failed) - ), - - TP_fast_assign( - tp_assign(nr_migrated, nr_migrated) - tp_assign(nr_failed, nr_failed) - ), - - TP_printk("nr_migrated=%lu nr_failed=%lu", - __entry->nr_migrated, - __entry->nr_failed) + TP_FIELDS( + ctf_integer(unsigned long, nr_migrated, nr_migrated) + ctf_integer(unsigned long, nr_failed, nr_failed) + ) ) #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */ #endif /* LTTNG_TRACE_COMPACTION_H */ /* This part must be outside protection */ -#include "../../../probes/define_trace.h" +#include