函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Generic event overflow handling, sampling.

函数原型:static int __perf_event_overflow(struct perf_event *event, int throttle, struct perf_sample_data *data, struct pt_regs *regs)

返回类型:int

参数:

类型参数名称
struct perf_event *event
intthrottle
struct perf_sample_data *data
struct pt_regs *regs
8411  events等于atomic_read( & event_limit)
8412  ret等于0
8418  如果此条件成立可能性小(为编译器优化)(!is_sampling_event(event))则返回:0
8421  ret等于__perf_event_account_interrupt(event, throttle)
8428  pending_kill等于data input available
8429  如果eventsatomic_dec_and_test( & event_limit)则
8430  ret等于1
8431  pending_kill等于device disconnected
8433  perf_event_disable_inatomic(event)
8436  READ_ONCE(overflow_handler)(event, data, regs)
8438  如果Perf event wakeup* If there's data, ensure we set the poll() state and publish everything* to user-space before waking everybody up.pending_kill
8439  pending_wakeup等于1
8440  Enqueue the irq work @work on the current CPU
8443  返回:ret
调用者
名称描述
perf_event_overflow
perf_swevent_overflow
perf_swevent_hrtimerhrtimer based swevent callback