函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:percpu_array_map_seq_show_elem

函数原型:static void percpu_array_map_seq_show_elem(struct bpf_map *map, void *key, struct seq_file *m)

返回类型:void

参数:

类型参数名称
struct bpf_map *map
void *key
struct seq_file *m
429  array等于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.(map, structbpf_array, map)
430  index等于key
431  __percpupptr
434  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
436  seq_printf(m, "%u: {\n", * (u32 * )key)
437  pptr等于pptrs[index & index_mask]
438  遍历可用CPU(cpu)
439  seq_printf(m, "\tcpu%d: ", cpu)
440  btf_type_seq_show(btf, btf_value_type_id, per_cpu_ptr(pptr, cpu), m)
442  seq_puts(m, "\n")
444  seq_puts(m, "}\n")
446  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()