diff options
Diffstat (limited to 'kernel/trace/trace_output.c')
-rw-r--r-- | kernel/trace/trace_output.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index 282982195e09..0bb9cf2d53e6 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c | |||
@@ -389,7 +389,9 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) | |||
389 | char irqs_off; | 389 | char irqs_off; |
390 | int hardirq; | 390 | int hardirq; |
391 | int softirq; | 391 | int softirq; |
392 | int nmi; | ||
392 | 393 | ||
394 | nmi = entry->flags & TRACE_FLAG_NMI; | ||
393 | hardirq = entry->flags & TRACE_FLAG_HARDIRQ; | 395 | hardirq = entry->flags & TRACE_FLAG_HARDIRQ; |
394 | softirq = entry->flags & TRACE_FLAG_SOFTIRQ; | 396 | softirq = entry->flags & TRACE_FLAG_SOFTIRQ; |
395 | 397 | ||
@@ -415,10 +417,12 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) | |||
415 | } | 417 | } |
416 | 418 | ||
417 | hardsoft_irq = | 419 | hardsoft_irq = |
420 | (nmi && hardirq) ? 'Z' : | ||
421 | nmi ? 'z' : | ||
418 | (hardirq && softirq) ? 'H' : | 422 | (hardirq && softirq) ? 'H' : |
419 | hardirq ? 'h' : | 423 | hardirq ? 'h' : |
420 | softirq ? 's' : | 424 | softirq ? 's' : |
421 | '.'; | 425 | '.' ; |
422 | 426 | ||
423 | trace_seq_printf(s, "%c%c%c", | 427 | trace_seq_printf(s, "%c%c%c", |
424 | irqs_off, need_resched, hardsoft_irq); | 428 | irqs_off, need_resched, hardsoft_irq); |