函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\trace\trace_event_perf.c Create Date:2022-07-27 13:31:01
Last Modify:2020-03-17 20:20:33 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:perf_ftrace_function_call

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

返回类型:void

参数:

类型参数名称
unsigned longip
unsigned longparent_ip
struct ftrace_ops *ops
struct pt_regs *pt_regs
443  如果private不等于当前cpu ID()则返回
446  event等于container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(ops, structperf_event, ftrace_ops)
454  first等于hlist_entry
459  BUILD_BUG_ON - break compile if a condition is true(@event->hlist entry is NULL (per INIT_HLIST_NODE), and all* the perf code does is hlist_for_each_entry_rcu(), so we can* get away with simply setting the @head.first pointer in order* to create a singular list. > PERF_MAX_TRACE_SIZE)
461  memset( & regs, 0, regs的长度)
462  perf_fetch_caller_regs( & regs)
464  entry等于perf_trace_buf_alloc(@event->hlist entry is NULL (per INIT_HLIST_NODE), and all* the perf code does is hlist_for_each_entry_rcu(), so we can* get away with simply setting the @head.first pointer in order* to create a singular list., NULL, & rctx)
465  如果非entry则返回
468  ip等于ip
469  parent_ip等于parent_ip
470  perf_trace_buf_submit(entry, @event->hlist entry is NULL (per INIT_HLIST_NODE), and all* the perf code does is hlist_for_each_entry_rcu(), so we can* get away with simply setting the @head.first pointer in order* to create a singular list., rctx, TRACE_FN, 1, & regs, & head, NULL)