Function report | 
Source Code:kernel\trace\trace_sched_wakeup.c | 
Create Date:2022-07-28 12:10:11 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:probe_wakeup_sched_switch
Proto:static void notrace probe_wakeup_sched_switch(void *ignore, bool preempt, struct task_struct *prev, struct task_struct *next)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| void * | ignore | |
| bool | preempt | |
| struct task_struct * | prev | |
| struct task_struct * | next | 
| 443 | If Value for the false possibility is greater at compile time(!tracer_enabled) Then Return | 
| 453 | smp_rmb() | 
| 455 | If next != wakeup_task Then Return | 
| 458 | pc = We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users* that think a non-zero value indicates we cannot preempt. | 
| 462 | disabled = atomic_inc_return( & disabled) | 
| 463 | If Value is more likely to compile time(disabled != 1) Then Go to out | 
| 466 | local_irq_save(flags) | 
| 470 | If Value for the false possibility is greater at compile time(!tracer_enabled || next != wakeup_task) Then Go to out_unlock | 
| 474 | data = per_cpu_ptr(data, wakeup_cpu) | 
| 477 | tracing_sched_switch_trace(wakeup_trace, prev, next, flags, pc) | 
| 478 | __trace_stack(wakeup_trace, flags, 0, pc) | 
| 480 | T0 = preempt_timestamp | 
| 481 | T1 = ftrace_now(cpu) | 
| 484 | If Not Should this new latency be reported/recorded? Then Go to out_unlock | 
| 487 | If Value is more likely to compile time(!is_tracing_stopped()) Then | 
| 488 | max_latency = delta | 
| 489 | update_max_tr(wakeup_trace, wakeup_task, wakeup_cpu, NULL) | 
| 492 | out_unlock : | 
| 494 | arch_spin_unlock( & wakeup_lock) | 
| 495 | local_irq_restore(flags) | 
| 496 | out : | 
| 497 | atomic_dec( & disabled) | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |