X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fcompaction.h;h=c6db6d0585d2ffb876da4f38741448c57a2e4bfe;hb=a6a26911cc7888458bd91feb433df584d7dcd5c8;hp=7914e234c471631fe927ef9ec9c301aa22e2c2e3;hpb=a57f014e9dba7d8674509d13a3ebd2769745b3ca;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/compaction.h b/instrumentation/events/lttng-module/compaction.h index 7914e234..c6db6d05 100644 --- a/instrumentation/events/lttng-module/compaction.h +++ b/instrumentation/events/lttng-module/compaction.h @@ -1,17 +1,17 @@ +/* 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) -LTTNG_TRACEPOINT_EVENT_CLASS(mm_compaction_isolate_template, +LTTNG_TRACEPOINT_EVENT_CLASS(compaction_isolate_template, TP_PROTO(unsigned long start_pfn, unsigned long end_pfn, @@ -20,28 +20,19 @@ LTTNG_TRACEPOINT_EVENT_CLASS(mm_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(mm_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(mm_compaction_isolate_template, mm_compaction_is TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken) ) -LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_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, @@ -63,29 +58,24 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_compaction_isolate_template, mm_compaction_is #else /* #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) */ -LTTNG_TRACEPOINT_EVENT_CLASS(mm_compaction_isolate_template, +LTTNG_TRACEPOINT_EVENT_CLASS(compaction_isolate_template, TP_PROTO(unsigned long nr_scanned, unsigned long nr_taken), TP_ARGS(nr_scanned, nr_taken), - TP_STRUCT__entry( - __field(unsigned long, nr_scanned) - __field(unsigned long, nr_taken) - ), + TP_FIELDS( + ctf_integer(unsigned long, nr_scanned, nr_scanned) + ctf_integer(unsigned long, nr_taken, nr_taken) + ) +) - TP_fast_assign( - tp_assign(nr_scanned, nr_scanned) - tp_assign(nr_taken, nr_taken) - ), +LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template, - TP_printk("nr_scanned=%lu nr_taken=%lu", - __entry->nr_scanned, - __entry->nr_taken) -) + mm_compaction_isolate_migratepages, -LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_compaction_isolate_template, mm_compaction_isolate_migratepages, + compaction_isolate_migratepages, TP_PROTO(unsigned long nr_scanned, unsigned long nr_taken), @@ -93,7 +83,12 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_compaction_isolate_template, mm_compaction_is TP_ARGS(nr_scanned, nr_taken) ) -LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_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 nr_scanned, unsigned long nr_taken), @@ -105,7 +100,9 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_compaction_isolate_template, mm_compaction_is #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(mm_compaction_migratepages, +LTTNG_TRACEPOINT_EVENT_CODE_MAP(mm_compaction_migratepages, + + compaction_migratepages, TP_PROTO(unsigned long nr_all, int migrate_rc, @@ -113,63 +110,49 @@ LTTNG_TRACEPOINT_EVENT(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(mm_compaction_migratepages, +LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages, + + compaction_migratepages, TP_PROTO(unsigned long nr_migrated, unsigned long nr_failed), 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