| .. | .. |
|---|
| 73 | 73 | __entry->flags = flags; |
|---|
| 74 | 74 | ), |
|---|
| 75 | 75 | |
|---|
| 76 | | - TP_printk("timer=%p function=%pf expires=%lu [timeout=%ld] cpu=%u idx=%u flags=%s", |
|---|
| 76 | + TP_printk("timer=%p function=%ps expires=%lu [timeout=%ld] cpu=%u idx=%u flags=%s", |
|---|
| 77 | 77 | __entry->timer, __entry->function, __entry->expires, |
|---|
| 78 | 78 | (long)__entry->expires - __entry->now, |
|---|
| 79 | 79 | __entry->flags & TIMER_CPUMASK, |
|---|
| .. | .. |
|---|
| 89 | 89 | */ |
|---|
| 90 | 90 | TRACE_EVENT(timer_expire_entry, |
|---|
| 91 | 91 | |
|---|
| 92 | | - TP_PROTO(struct timer_list *timer), |
|---|
| 92 | + TP_PROTO(struct timer_list *timer, unsigned long baseclk), |
|---|
| 93 | 93 | |
|---|
| 94 | | - TP_ARGS(timer), |
|---|
| 94 | + TP_ARGS(timer, baseclk), |
|---|
| 95 | 95 | |
|---|
| 96 | 96 | TP_STRUCT__entry( |
|---|
| 97 | 97 | __field( void *, timer ) |
|---|
| 98 | 98 | __field( unsigned long, now ) |
|---|
| 99 | 99 | __field( void *, function) |
|---|
| 100 | + __field( unsigned long, baseclk ) |
|---|
| 100 | 101 | ), |
|---|
| 101 | 102 | |
|---|
| 102 | 103 | TP_fast_assign( |
|---|
| 103 | 104 | __entry->timer = timer; |
|---|
| 104 | 105 | __entry->now = jiffies; |
|---|
| 105 | 106 | __entry->function = timer->function; |
|---|
| 107 | + __entry->baseclk = baseclk; |
|---|
| 106 | 108 | ), |
|---|
| 107 | 109 | |
|---|
| 108 | | - TP_printk("timer=%p function=%pf now=%lu", __entry->timer, __entry->function,__entry->now) |
|---|
| 110 | + TP_printk("timer=%p function=%ps now=%lu baseclk=%lu", |
|---|
| 111 | + __entry->timer, __entry->function, __entry->now, |
|---|
| 112 | + __entry->baseclk) |
|---|
| 109 | 113 | ); |
|---|
| 110 | 114 | |
|---|
| 111 | 115 | /** |
|---|
| .. | .. |
|---|
| 152 | 156 | { HRTIMER_MODE_ABS_SOFT, "ABS|SOFT" }, \ |
|---|
| 153 | 157 | { HRTIMER_MODE_REL_SOFT, "REL|SOFT" }, \ |
|---|
| 154 | 158 | { HRTIMER_MODE_ABS_PINNED_SOFT, "ABS|PINNED|SOFT" }, \ |
|---|
| 155 | | - { HRTIMER_MODE_REL_PINNED_SOFT, "REL|PINNED|SOFT" }) |
|---|
| 159 | + { HRTIMER_MODE_REL_PINNED_SOFT, "REL|PINNED|SOFT" }, \ |
|---|
| 160 | + { HRTIMER_MODE_ABS_HARD, "ABS|HARD" }, \ |
|---|
| 161 | + { HRTIMER_MODE_REL_HARD, "REL|HARD" }, \ |
|---|
| 162 | + { HRTIMER_MODE_ABS_PINNED_HARD, "ABS|PINNED|HARD" }, \ |
|---|
| 163 | + { HRTIMER_MODE_REL_PINNED_HARD, "REL|PINNED|HARD" }) |
|---|
| 156 | 164 | |
|---|
| 157 | 165 | /** |
|---|
| 158 | 166 | * hrtimer_init - called when the hrtimer is initialized |
|---|
| .. | .. |
|---|
| 210 | 218 | __entry->mode = mode; |
|---|
| 211 | 219 | ), |
|---|
| 212 | 220 | |
|---|
| 213 | | - TP_printk("hrtimer=%p function=%pf expires=%llu softexpires=%llu " |
|---|
| 221 | + TP_printk("hrtimer=%p function=%ps expires=%llu softexpires=%llu " |
|---|
| 214 | 222 | "mode=%s", __entry->hrtimer, __entry->function, |
|---|
| 215 | 223 | (unsigned long long) __entry->expires, |
|---|
| 216 | 224 | (unsigned long long) __entry->softexpires, |
|---|
| .. | .. |
|---|
| 243 | 251 | __entry->function = hrtimer->function; |
|---|
| 244 | 252 | ), |
|---|
| 245 | 253 | |
|---|
| 246 | | - TP_printk("hrtimer=%p function=%pf now=%llu", __entry->hrtimer, __entry->function, |
|---|
| 254 | + TP_printk("hrtimer=%p function=%ps now=%llu", |
|---|
| 255 | + __entry->hrtimer, __entry->function, |
|---|
| 247 | 256 | (unsigned long long) __entry->now) |
|---|
| 248 | 257 | ); |
|---|
| 249 | 258 | |
|---|
| .. | .. |
|---|
| 298 | 307 | */ |
|---|
| 299 | 308 | TRACE_EVENT(itimer_state, |
|---|
| 300 | 309 | |
|---|
| 301 | | - TP_PROTO(int which, const struct itimerval *const value, |
|---|
| 310 | + TP_PROTO(int which, const struct itimerspec64 *const value, |
|---|
| 302 | 311 | unsigned long long expires), |
|---|
| 303 | 312 | |
|---|
| 304 | 313 | TP_ARGS(which, value, expires), |
|---|
| .. | .. |
|---|
| 307 | 316 | __field( int, which ) |
|---|
| 308 | 317 | __field( unsigned long long, expires ) |
|---|
| 309 | 318 | __field( long, value_sec ) |
|---|
| 310 | | - __field( long, value_usec ) |
|---|
| 319 | + __field( long, value_nsec ) |
|---|
| 311 | 320 | __field( long, interval_sec ) |
|---|
| 312 | | - __field( long, interval_usec ) |
|---|
| 321 | + __field( long, interval_nsec ) |
|---|
| 313 | 322 | ), |
|---|
| 314 | 323 | |
|---|
| 315 | 324 | TP_fast_assign( |
|---|
| 316 | 325 | __entry->which = which; |
|---|
| 317 | 326 | __entry->expires = expires; |
|---|
| 318 | 327 | __entry->value_sec = value->it_value.tv_sec; |
|---|
| 319 | | - __entry->value_usec = value->it_value.tv_usec; |
|---|
| 328 | + __entry->value_nsec = value->it_value.tv_nsec; |
|---|
| 320 | 329 | __entry->interval_sec = value->it_interval.tv_sec; |
|---|
| 321 | | - __entry->interval_usec = value->it_interval.tv_usec; |
|---|
| 330 | + __entry->interval_nsec = value->it_interval.tv_nsec; |
|---|
| 322 | 331 | ), |
|---|
| 323 | 332 | |
|---|
| 324 | | - TP_printk("which=%d expires=%llu it_value=%ld.%ld it_interval=%ld.%ld", |
|---|
| 333 | + TP_printk("which=%d expires=%llu it_value=%ld.%06ld it_interval=%ld.%06ld", |
|---|
| 325 | 334 | __entry->which, __entry->expires, |
|---|
| 326 | | - __entry->value_sec, __entry->value_usec, |
|---|
| 327 | | - __entry->interval_sec, __entry->interval_usec) |
|---|
| 335 | + __entry->value_sec, __entry->value_nsec / NSEC_PER_USEC, |
|---|
| 336 | + __entry->interval_sec, __entry->interval_nsec / NSEC_PER_USEC) |
|---|
| 328 | 337 | ); |
|---|
| 329 | 338 | |
|---|
| 330 | 339 | /** |
|---|
| .. | .. |
|---|
| 362 | 371 | tick_dep_name(POSIX_TIMER) \ |
|---|
| 363 | 372 | tick_dep_name(PERF_EVENTS) \ |
|---|
| 364 | 373 | tick_dep_name(SCHED) \ |
|---|
| 365 | | - tick_dep_name_end(CLOCK_UNSTABLE) |
|---|
| 374 | + tick_dep_name(CLOCK_UNSTABLE) \ |
|---|
| 375 | + tick_dep_name(RCU) \ |
|---|
| 376 | + tick_dep_name_end(RCU_EXP) |
|---|
| 366 | 377 | |
|---|
| 367 | 378 | #undef tick_dep_name |
|---|
| 368 | 379 | #undef tick_dep_mask_name |
|---|