函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:____bpf_perf_event_output

函数原型:static inline __attribute__((__always_inline__)) u64 ____bpf_perf_event_output(struct pt_regs *regs, struct bpf_map *map, u64 flags, void *data, u64 size)

返回类型:u64

参数:

类型参数名称
struct pt_regs *regs
struct bpf_map *map
u64flags
void *data
u64size
578  sds等于this_cpu_ptr( & bpf_trace_sds)
579  nest_level等于this_cpu_inc_return(bpf_trace_nest_level)
580  struct perf_raw_record raw = {frag = {size = size, data = data, }, }
589  如果WARN_ON_ONCE(nest_level > ARRAY_SIZE - get the number of elements in array @arr*@arr: array to be sized(sds))则
590  err等于负EBUSY
591  转到:out
594  sd等于sds[nest_level - 1]
596  如果此条件成立可能性小(为编译器优化)(flags & ~(BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and* BPF_FUNC_perf_event_read_value flags.))则
597  err等于负EINVAL
598  转到:out
601  perf_sample_data_init(sd, 0, 0)
602  raw等于raw
604  err等于__bpf_perf_event_output(regs, map, flags, sd)
606  out :
607  this_cpu_dec(bpf_trace_nest_level)
608  返回:err
调用者
名称描述
____bpf_perf_event_output_tp
____bpf_perf_event_output_raw_tp