The lock_depth and preempt_count numbers in the latency format is transposed.
Showing the changes to kernel/trace (1 of 1 file). Show all
Unified · Split
| @@ -486,16 +486,18 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) · 485 unmodified lines | |||
| 486 | hardirq ? 'h' : softirq ? 's' : '.')) | 486 | hardirq ? 'h' : softirq ? 's' : '.')) |
| 487 | return 0; | 487 | return 0; |
| 488 | 488 | ||
| 489 | if (entry->lock_depth < 0) | 489 | if (entry->preempt_count) |
| 490 | ret = trace_seq_putc(s, '.'); | 490 | ret = trace_seq_printf(s, "%x", entry->preempt_count); |
| 491 | else | 491 | else |
| 492 | ret = trace_seq_printf(s, "%d", entry->lock_depth); | 492 | ret = trace_seq_putc(s, '.'); |
| 493 | |||
| 493 | if (!ret) | 494 | if (!ret) |
| 494 | return 0; | 495 | return 0; |
| 495 | 496 | ||
| 496 | if (entry->preempt_count) | 497 | if (entry->lock_depth < 0) |
| 497 | return trace_seq_printf(s, "%x", entry->preempt_count); | 498 | return trace_seq_putc(s, '.'); |
| 498 | return trace_seq_putc(s, '.'); | 499 | |
| 500 | return trace_seq_printf(s, "%d", entry->lock_depth); | ||
| 499 | } | 501 | } |
| 500 | 502 | ||
| 501 | static int | 503 | static int |