函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\trace\trace_sched_wakeup.c Create Date:2022-07-27 13:17:05
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:probe_wakeup

函数原型:static void probe_wakeup(void *ignore, struct task_struct *p)

返回类型:void

参数:

类型参数名称
void *ignore
struct task_struct *p
529  cpu等于当前cpu ID()
534  如果此条件成立可能性大(为编译器优化)(!tracer_enabled)则返回
537  Helpers to record a specific task information
538  Helpers to record a specific task information
548  如果tracing_dlwakeup_dl且非dl_task(p)或wakeup_rt且非dl_task(p)且非rt_task(p)或非dl_task(p)且prio大于等于wakeup_prioprio大于等于prio的值则返回
553  pc等于抢占计数值
554  disabled等于atomic_inc_return( & disabled)
555  如果此条件成立可能性小(为编译器优化)(disabled != 1)则转到:out
559  r sched/core.c and kernel_lock.c: ( & wakeup_lock)
562  如果非tracer_enabledtracing_dl或非dl_task(p)且prio大于等于wakeup_prio则转到:out_locked
567  __wakeup_reset(wakeup_trace)
569  wakeup_cpu等于task_cpu(p)
570  wakeup_current_cpu等于wakeup_cpu
571  wakeup_prio等于prio
577  如果dl_task(p)则tracing_dl等于1
579  否则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)
588  tracing_sched_wakeup_trace(wakeup_trace, p, 当前进程, flags, pc)
589  __trace_stack(wakeup_trace, flags, 0, pc)
596  __trace_function(wakeup_trace, CALLER_ADDR1, CALLER_ADDR2, flags, pc)
598  out_locked :
599  arch_spin_unlock( & wakeup_lock)
600  out :
601  atomic_dec( & disabled)