Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-28 13:35:37
Last Modify:2022-05-20 07:50:19 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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.

Proto:void perf_event_update_userpage(struct perf_event *event)

Type:void

Parameter:

TypeParameterName
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 = fetch RCU-protected pointer for dereferencing(rb)
5473  If Not rb Then Go to unlock
5485  calc_timer_values(event, & now, & enabled, & running)
5487  userpg = user_page
5492  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.()
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  If hardware event identifier Then add to hardware event value -= local64_read( & prev_count)
5500  ime event active = enabled + atomic64_read( & child_total_time_enabled)
5503  ime event on cpu = running + atomic64_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  preempt_enable()
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()
Caller
NameDescribe
__perf_event_sync_stat
_perf_event_reset
perf_mmap
perf_swevent_add
cpu_clock_event_add
task_clock_event_add