.. | .. |
---|
46 | 46 | TRACE_EVENT(mm_migrate_pages, |
---|
47 | 47 | |
---|
48 | 48 | TP_PROTO(unsigned long succeeded, unsigned long failed, |
---|
49 | | - enum migrate_mode mode, int reason), |
---|
| 49 | + unsigned long thp_succeeded, unsigned long thp_failed, |
---|
| 50 | + unsigned long thp_split, enum migrate_mode mode, int reason), |
---|
50 | 51 | |
---|
51 | | - TP_ARGS(succeeded, failed, mode, reason), |
---|
| 52 | + TP_ARGS(succeeded, failed, thp_succeeded, thp_failed, |
---|
| 53 | + thp_split, mode, reason), |
---|
52 | 54 | |
---|
53 | 55 | TP_STRUCT__entry( |
---|
54 | 56 | __field( unsigned long, succeeded) |
---|
55 | 57 | __field( unsigned long, failed) |
---|
| 58 | + __field( unsigned long, thp_succeeded) |
---|
| 59 | + __field( unsigned long, thp_failed) |
---|
| 60 | + __field( unsigned long, thp_split) |
---|
56 | 61 | __field( enum migrate_mode, mode) |
---|
57 | 62 | __field( int, reason) |
---|
58 | 63 | ), |
---|
.. | .. |
---|
60 | 65 | TP_fast_assign( |
---|
61 | 66 | __entry->succeeded = succeeded; |
---|
62 | 67 | __entry->failed = failed; |
---|
| 68 | + __entry->thp_succeeded = thp_succeeded; |
---|
| 69 | + __entry->thp_failed = thp_failed; |
---|
| 70 | + __entry->thp_split = thp_split; |
---|
63 | 71 | __entry->mode = mode; |
---|
64 | 72 | __entry->reason = reason; |
---|
65 | 73 | ), |
---|
66 | 74 | |
---|
67 | | - TP_printk("nr_succeeded=%lu nr_failed=%lu mode=%s reason=%s", |
---|
| 75 | + TP_printk("nr_succeeded=%lu nr_failed=%lu nr_thp_succeeded=%lu nr_thp_failed=%lu nr_thp_split=%lu mode=%s reason=%s", |
---|
68 | 76 | __entry->succeeded, |
---|
69 | 77 | __entry->failed, |
---|
| 78 | + __entry->thp_succeeded, |
---|
| 79 | + __entry->thp_failed, |
---|
| 80 | + __entry->thp_split, |
---|
70 | 81 | __print_symbolic(__entry->mode, MIGRATE_MODE), |
---|
71 | 82 | __print_symbolic(__entry->reason, MIGRATE_REASON)) |
---|
72 | 83 | ); |
---|
| 84 | + |
---|
| 85 | +TRACE_EVENT(mm_migrate_pages_start, |
---|
| 86 | + |
---|
| 87 | + TP_PROTO(enum migrate_mode mode, int reason), |
---|
| 88 | + |
---|
| 89 | + TP_ARGS(mode, reason), |
---|
| 90 | + |
---|
| 91 | + TP_STRUCT__entry( |
---|
| 92 | + __field(enum migrate_mode, mode) |
---|
| 93 | + __field(int, reason) |
---|
| 94 | + ), |
---|
| 95 | + |
---|
| 96 | + TP_fast_assign( |
---|
| 97 | + __entry->mode = mode; |
---|
| 98 | + __entry->reason = reason; |
---|
| 99 | + ), |
---|
| 100 | + |
---|
| 101 | + TP_printk("mode=%s reason=%s", |
---|
| 102 | + __print_symbolic(__entry->mode, MIGRATE_MODE), |
---|
| 103 | + __print_symbolic(__entry->reason, MIGRATE_REASON)) |
---|
| 104 | +); |
---|
| 105 | + |
---|
73 | 106 | #endif /* _TRACE_MIGRATE_H */ |
---|
74 | 107 | |
---|
75 | 108 | /* This part must be outside protection */ |
---|