Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\trampoline.c Create Date:2022-07-28 13:15:53
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:The logic is similar to BPF_PROG_RUN, but with explicit rcu and preempt that* are needed for trampoline. The macro is split into* call _bpf_prog_enter* call prog->bpf_func* call __bpf_prog_exit

Proto:u64 notrace __bpf_prog_enter(void)

Type:u64

Parameter:Nothing

268  start = 0
270  _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
271  Even if we don't have any preemption, we need preempt disable/enable* to be barriers, so that we don't have things like get_user/put_user* that can cause faults and scheduling migrate into our preempt-protected* region.()
272  If static_branch_unlikely( & bpf_stats_enabled_key) Then start = sched_clock()
274  Return start