hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/kernel/trace/trace.c
....@@ -2151,6 +2151,7 @@
21512151 struct task_struct *tsk = current;
21522152
21532153 entry->preempt_count = pc & 0xff;
2154
+ entry->preempt_lazy_count = preempt_lazy_count();
21542155 entry->pid = (tsk) ? tsk->pid : 0;
21552156 entry->flags =
21562157 #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT
....@@ -2161,8 +2162,11 @@
21612162 ((pc & NMI_MASK ) ? TRACE_FLAG_NMI : 0) |
21622163 ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) |
21632164 ((pc & SOFTIRQ_OFFSET) ? TRACE_FLAG_SOFTIRQ : 0) |
2164
- (tif_need_resched() ? TRACE_FLAG_NEED_RESCHED : 0) |
2165
+ (tif_need_resched_now() ? TRACE_FLAG_NEED_RESCHED : 0) |
2166
+ (need_resched_lazy() ? TRACE_FLAG_NEED_RESCHED_LAZY : 0) |
21652167 (test_preempt_need_resched() ? TRACE_FLAG_PREEMPT_RESCHED : 0);
2168
+
2169
+ entry->migrate_disable = (tsk) ? __migrate_disabled(tsk) & 0xFF : 0;
21662170 }
21672171 EXPORT_SYMBOL_GPL(tracing_generic_entry_update);
21682172
....@@ -3360,14 +3364,17 @@
33603364
33613365 static void print_lat_help_header(struct seq_file *m)
33623366 {
3363
- seq_puts(m, "# _------=> CPU# \n"
3364
- "# / _-----=> irqs-off \n"
3365
- "# | / _----=> need-resched \n"
3366
- "# || / _---=> hardirq/softirq \n"
3367
- "# ||| / _--=> preempt-depth \n"
3368
- "# |||| / delay \n"
3369
- "# cmd pid ||||| time | caller \n"
3370
- "# \\ / ||||| \\ | / \n");
3367
+ seq_puts(m, "# _--------=> CPU# \n"
3368
+ "# / _-------=> irqs-off \n"
3369
+ "# | / _------=> need-resched \n"
3370
+ "# || / _-----=> need-resched_lazy \n"
3371
+ "# ||| / _----=> hardirq/softirq \n"
3372
+ "# |||| / _---=> preempt-depth \n"
3373
+ "# ||||| / _--=> preempt-lazy-depth\n"
3374
+ "# |||||| / _-=> migrate-disable \n"
3375
+ "# ||||||| / delay \n"
3376
+ "# cmd pid |||||||| time | caller \n"
3377
+ "# \\ / |||||||| \\ | / \n");
33713378 }
33723379
33733380 static void print_event_info(struct trace_buffer *buf, struct seq_file *m)
....@@ -3405,15 +3412,17 @@
34053412 tgid ? tgid_space : space);
34063413 seq_printf(m, "# %s / _----=> need-resched\n",
34073414 tgid ? tgid_space : space);
3408
- seq_printf(m, "# %s| / _---=> hardirq/softirq\n",
3415
+ seq_printf(m, "# %s| / _---=> need-resched_lazy\n",
34093416 tgid ? tgid_space : space);
3410
- seq_printf(m, "# %s|| / _--=> preempt-depth\n",
3417
+ seq_printf(m, "# %s|| / _--=> hardirq/softirq\n",
34113418 tgid ? tgid_space : space);
3412
- seq_printf(m, "# %s||| / delay\n",
3419
+ seq_printf(m, "# %s||| / preempt-depth\n",
34133420 tgid ? tgid_space : space);
3414
- seq_printf(m, "# TASK-PID %sCPU# |||| TIMESTAMP FUNCTION\n",
3421
+ seq_printf(m, "# %s|||| / delay\n",
3422
+ tgid ? tgid_space : space);
3423
+ seq_printf(m, "# TASK-PID %sCPU# ||||| TIMESTAMP FUNCTION\n",
34153424 tgid ? " TGID " : space);
3416
- seq_printf(m, "# | | %s | |||| | |\n",
3425
+ seq_printf(m, "# | | %s | ||||| | |\n",
34173426 tgid ? " | " : space);
34183427 }
34193428