函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-27 14:55:12
Last Modify:2022-05-20 07:50:19 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Callers need to ensure there can be no nesting of this function, otherwise* the seqlock logic goes bad. We can not serialize this because the arch* code calls this from NMI context.

函数原型:void perf_event_update_userpage(struct perf_event *event)

返回类型:void

参数:

类型参数名称
struct perf_event *event
5471  _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
5472  rb等于cu_dereference() - fetch RCU-protected pointer for dereferencing*@p: The pointer to read, prior to dereferencing* This is a simple wrapper around rcu_dereference_check().(rb)
5473  如果非rb则转到:unlock
5485  calc_timer_values(event, & now, & enabled, & running)
5487  userpg等于user_page
5492  禁止抢占()
5493  seqlock for synchronization 先自加
5494  The "volatile" is due to gcc bugs ()
5495  hardware event identifier 等于perf_event_index(event)
5496  add to hardware event value 等于perf_event_count(event)
5497  如果hardware event identifier add to hardware event value 减等于local64_read( & prev_count)
5500  ime event active 等于enabledatomic64_read( & child_total_time_enabled)
5503  ime event on cpu 等于runningatomic64_read( & child_total_time_running)
5506  arch_perf_update_userpage(event, userpg, now)
5508  The "volatile" is due to gcc bugs ()
5509  seqlock for synchronization 先自加
5510  禁用抢占和中断()
5511  unlock :
5512  _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()
调用者
名称描述
__perf_event_sync_stat
_perf_event_reset
perf_mmap
perf_swevent_add
cpu_clock_event_add
task_clock_event_add