函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:stack_trace_call

函数原型:static void stack_trace_call(unsigned long ip, unsigned long parent_ip, struct ftrace_ops *op, struct pt_regs *pt_regs)

返回类型:void

参数:

类型参数名称
unsigned longip
unsigned longparent_ip
struct ftrace_ops *op
struct pt_regs *pt_regs
297  preempt_disable_notrace()
300  __this_cpu_inc(disable_stack_tracer)
301  如果Operations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(disable_stack_tracer)不等于1则转到:out
305  如果非_is_watching - see if RCU thinks that the current CPU is not idle* Return true if RCU is watching the running CPU, which means that this* CPU can safely enter RCU read-side critical sections则转到:out
308  ip加等于sizeof mcount call
310  The stack tracer looks for a maximum stack at each call from a function. It* registers a callback from ftrace, and in that callback it examines the stack* size. It determines the stack size from the variable passed in, which is the
312  out :
313  __this_cpu_dec(disable_stack_tracer)
315  preempt_enable_notrace()