函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__ftrace_ops_list_func

函数原型:static inline __attribute__((__always_inline__)) void __ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, struct ftrace_ops *ignored, struct pt_regs *regs)

返回类型:void

参数:

类型参数名称
unsigned longip
unsigned longparent_ip
struct ftrace_ops *ignored
struct pt_regs *regs
6808  bit等于trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX)
6809  如果bit小于0则返回
6816  preempt_disable_notrace()
6818  Traverse the ftrace_global_list, invoking all entries. The reason that we* can use rcu_dereference_raw_check() is that elements removed from this list* are simply leaked, so there is no need to interact with a grace-period* mechanism(op, ftrace_ops_list)
6820  如果flags按位与FTRACE_OPS_FL_STUB则继续下一循环
6833  如果FTRACE_WARN_ON(!func)则
6834  打印警告信息("op=%p %pS\n", op, op)
6835  转到:out
6837  func(ip, parent_ip, op, regs)
6840  out :
调用者
名称描述
ftrace_ops_no_opsSee comment below, where ftrace_ops_list_func is defined