1 #undef TRACE_SYSTEM 2 #define TRACE_SYSTEM compaction 3 4 #if !defined(_TRACE_COMPACTION_H) || defined(TRACE_HEADER_MULTI_READ) 5 #define _TRACE_COMPACTION_H 6 7 #include <linux/types.h> 8 #include <linux/tracepoint.h> 9 #include <trace/events/gfpflags.h> 10 11 DECLARE_EVENT_CLASS(mm_compaction_isolate_template, 12 13 TP_PROTO(unsigned long nr_scanned, 14 unsigned long nr_taken), 15 16 TP_ARGS(nr_scanned, nr_taken), 17 18 TP_STRUCT__entry( 19 __field(unsigned long, nr_scanned) 20 __field(unsigned long, nr_taken) 21 ), 22 23 TP_fast_assign( 24 __entry->nr_scanned = nr_scanned; 25 __entry->nr_taken = nr_taken; 26 ), 27 28 TP_printk("nr_scanned=%lu nr_taken=%lu", 29 __entry->nr_scanned, 30 __entry->nr_taken) 31 ); 32 33 DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_migratepages, 34 35 TP_PROTO(unsigned long nr_scanned, 36 unsigned long nr_taken), 37 38 TP_ARGS(nr_scanned, nr_taken) 39 ); 40 41 DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_freepages, 42 TP_PROTO(unsigned long nr_scanned, 43 unsigned long nr_taken), 44 45 TP_ARGS(nr_scanned, nr_taken) 46 ); 47 48 TRACE_EVENT(mm_compaction_migratepages, 49 50 TP_PROTO(unsigned long nr_migrated, 51 unsigned long nr_failed), 52 53 TP_ARGS(nr_migrated, nr_failed), 54 55 TP_STRUCT__entry( 56 __field(unsigned long, nr_migrated) 57 __field(unsigned long, nr_failed) 58 ), 59 60 TP_fast_assign( 61 __entry->nr_migrated = nr_migrated; 62 __entry->nr_failed = nr_failed; 63 ), 64 65 TP_printk("nr_migrated=%lu nr_failed=%lu", 66 __entry->nr_migrated, 67 __entry->nr_failed) 68 ); 69 70 TRACE_EVENT(mm_compaction_begin, 71 TP_PROTO(unsigned long zone_start, unsigned long migrate_start, 72 unsigned long free_start, unsigned long zone_end), 73 74 TP_ARGS(zone_start, migrate_start, free_start, zone_end), 75 76 TP_STRUCT__entry( 77 __field(unsigned long, zone_start) 78 __field(unsigned long, migrate_start) 79 __field(unsigned long, free_start) 80 __field(unsigned long, zone_end) 81 ), 82 83 TP_fast_assign( 84 __entry->zone_start = zone_start; 85 __entry->migrate_start = migrate_start; 86 __entry->free_start = free_start; 87 __entry->zone_end = zone_end; 88 ), 89 90 TP_printk("zone_start=%lu migrate_start=%lu free_start=%lu zone_end=%lu", 91 __entry->zone_start, 92 __entry->migrate_start, 93 __entry->free_start, 94 __entry->zone_end) 95 ); 96 97 TRACE_EVENT(mm_compaction_end, 98 TP_PROTO(int status), 99 100 TP_ARGS(status), 101 102 TP_STRUCT__entry( 103 __field(int, status) 104 ), 105 106 TP_fast_assign( 107 __entry->status = status; 108 ), 109 110 TP_printk("status=%d", __entry->status) 111 ); 112 113 #endif /* _TRACE_COMPACTION_H */ 114 115 /* This part must be outside protection */ 116 #include <trace/define_trace.h> 117