| .. | .. |
|---|
| 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 */ |
|---|