Function report |
Source Code:kernel\trace\trace_sched_wakeup.c |
Create Date:2022-07-28 12:10:18 |
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
Proto:static void probe_wakeup(void *ignore, struct task_struct *p)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
void * | ignore | |
struct task_struct * | p |
529 | cpu = smp_processor_id() |
534 | If Value is more likely to compile time(!tracer_enabled) Then Return |
548 | If tracing_dl || wakeup_dl && Not dl_task(p) || wakeup_rt && Not dl_task(p) && Not rt_task(p) || Not dl_task(p) && ( prio >= wakeup_prio || prio >= prio ) Then Return |
553 | 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. |
554 | disabled = atomic_inc_return( & disabled) |
555 | If Value for the false possibility is greater at compile time(disabled != 1) Then Go to out |
562 | If Not tracer_enabled || tracing_dl || Not dl_task(p) && prio >= wakeup_prio Then Go to out_locked |
569 | wakeup_cpu = task_cpu(p) |
570 | wakeup_current_cpu = wakeup_cpu |
571 | wakeup_prio = prio |
577 | If dl_task(p) Then tracing_dl = 1 |
579 | Else tracing_dl = 0 |
582 | wakeup_task = get_task_struct(p) |
584 | local_save_flags(flags) |
586 | data = per_cpu_ptr(data, wakeup_cpu) |
587 | preempt_timestamp = ftrace_now(cpu) |
589 | __trace_stack(wakeup_trace, flags, 0, pc) |
598 | out_locked : |
599 | arch_spin_unlock( & wakeup_lock) |
600 | out : |
601 | 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 |