hc
2023-12-02 57e32c52610e6a560beda60bf33c48f9f42306d5
kernel/kernel/trace/trace_output.c
....@@ -448,6 +448,7 @@
448448 {
449449 char hardsoft_irq;
450450 char need_resched;
451
+ char need_resched_lazy;
451452 char irqs_off;
452453 int hardirq;
453454 int softirq;
....@@ -478,6 +479,9 @@
478479 break;
479480 }
480481
482
+ need_resched_lazy =
483
+ (entry->flags & TRACE_FLAG_NEED_RESCHED_LAZY) ? 'L' : '.';
484
+
481485 hardsoft_irq =
482486 (nmi && hardirq) ? 'Z' :
483487 nmi ? 'z' :
....@@ -486,14 +490,25 @@
486490 softirq ? 's' :
487491 '.' ;
488492
489
- trace_seq_printf(s, "%c%c%c",
490
- irqs_off, need_resched, hardsoft_irq);
493
+ trace_seq_printf(s, "%c%c%c%c",
494
+ irqs_off, need_resched, need_resched_lazy,
495
+ hardsoft_irq);
491496
492497 if (entry->preempt_count)
493498 trace_seq_printf(s, "%x", entry->preempt_count);
494499 else
495500 trace_seq_putc(s, '.');
496501
502
+ if (entry->preempt_lazy_count)
503
+ trace_seq_printf(s, "%x", entry->preempt_lazy_count);
504
+ else
505
+ trace_seq_putc(s, '.');
506
+
507
+ if (entry->migrate_disable)
508
+ trace_seq_printf(s, "%x", entry->migrate_disable);
509
+ else
510
+ trace_seq_putc(s, '.');
511
+
497512 return !trace_seq_has_overflowed(s);
498513 }
499514