| .. | .. |
|---|
| 30 | 30 | __entry->fun = fun; |
|---|
| 31 | 31 | ), |
|---|
| 32 | 32 | |
|---|
| 33 | | - TP_printk("cpu: %04u target: %3d step: %3d (%pf)", |
|---|
| 33 | + TP_printk("cpu: %04u target: %3d step: %3d (%ps)", |
|---|
| 34 | 34 | __entry->cpu, __entry->target, __entry->idx, __entry->fun) |
|---|
| 35 | 35 | ); |
|---|
| 36 | 36 | |
|---|
| .. | .. |
|---|
| 58 | 58 | __entry->fun = fun; |
|---|
| 59 | 59 | ), |
|---|
| 60 | 60 | |
|---|
| 61 | | - TP_printk("cpu: %04u target: %3d step: %3d (%pf)", |
|---|
| 61 | + TP_printk("cpu: %04u target: %3d step: %3d (%ps)", |
|---|
| 62 | 62 | __entry->cpu, __entry->target, __entry->idx, __entry->fun) |
|---|
| 63 | 63 | ); |
|---|
| 64 | 64 | |
|---|
| .. | .. |
|---|
| 89 | 89 | __entry->cpu, __entry->state, __entry->idx, __entry->ret) |
|---|
| 90 | 90 | ); |
|---|
| 91 | 91 | |
|---|
| 92 | +TRACE_EVENT(cpuhp_pause, |
|---|
| 93 | + TP_PROTO(struct cpumask *cpus, u64 start_time, unsigned char pause), |
|---|
| 94 | + |
|---|
| 95 | + TP_ARGS(cpus, start_time, pause), |
|---|
| 96 | + |
|---|
| 97 | + TP_STRUCT__entry( |
|---|
| 98 | + __field( unsigned int, cpus ) |
|---|
| 99 | + __field( unsigned int, active_cpus ) |
|---|
| 100 | + __field( unsigned int, time ) |
|---|
| 101 | + __field( unsigned char, pause ) |
|---|
| 102 | + ), |
|---|
| 103 | + |
|---|
| 104 | + TP_fast_assign( |
|---|
| 105 | + __entry->cpus = cpumask_bits(cpus)[0]; |
|---|
| 106 | + __entry->active_cpus = cpumask_bits(cpu_active_mask)[0]; |
|---|
| 107 | + __entry->time = div64_u64(sched_clock() - start_time, 1000); |
|---|
| 108 | + __entry->pause = pause; |
|---|
| 109 | + ), |
|---|
| 110 | + |
|---|
| 111 | + TP_printk("req_cpus=0x%x act_cpus=0x%x time=%u us paused=%d", |
|---|
| 112 | + __entry->cpus, __entry->active_cpus, __entry->time, __entry->pause) |
|---|
| 113 | +); |
|---|
| 92 | 114 | #endif |
|---|
| 93 | 115 | |
|---|
| 94 | 116 | /* This part must be outside protection */ |
|---|