函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:start_critical_timing

函数原型:static inline __attribute__((__always_inline__)) void start_critical_timing(unsigned long ip, unsigned long parent_ip, int pc)

返回类型:void

参数:

类型参数名称
unsigned longip
unsigned longparent_ip
intpc
373  tr等于irqsoff_trace
377  如果非tracer_enabled或非racing_is_enabled - Show if global_trace has been disabled* Shows if the global trace has been enabled or not. It uses the* mirror flag "buffer_disabled" to be used in fast paths such as for* the irqsoff tracer则返回
380  cpu等于These macros fold the SMP functionality into a single CPU system()
382  如果per_cpu(tracing_cpu, cpu)则返回
385  data等于per_cpu_ptr(data, cpu)
387  如果此条件成立可能性小(为编译器优化)(!data)或atomic_read( & disabled)则返回
390  atomic_inc( & disabled)
392  critical_sequence等于Sequence count - we record it when starting a measurement and* skip the latency if the sequence has changed - some other section* did a maximum and could disturb our measurement with serial console* printouts, etc
393  preempt_timestamp等于ftrace_now(cpu)
394  critical_start等于如果parent_ip否则ip
396  local_save_flags(flags)
398  __trace_function(tr, ip, parent_ip, flags, pc)
400  per_cpu(tracing_cpu, cpu)等于1
402  atomic_dec( & disabled)
调用者
名称描述
start_critical_timingsstart and stop critical timings used to for stoppage (in idle)
tracer_hardirqs_off
tracer_preempt_off