函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:perf_log_throttle

函数原型:static void perf_log_throttle(struct perf_event *event, int enable)

返回类型:void

参数:

类型参数名称
struct perf_event *event
intenable
8089  struct{struct perf_event_header header;u64 time;u64 id;u64 stream_id;}throttle_event = {header = {type = PERF_RECORD_THROTTLE, misc = 0, size = throttle_event的长度, }, time = perf_event_clock(event), id = If we inherit events we want to return the parent event id* to userspace., stream_id = id, }
8105  如果enabletype等于PERF_RECORD_UNTHROTTLE
8108  perf_event_header__init_id( & header, & sample, event)
8110  ret等于perf_output_begin( & handle, event, size)
8112  如果ret则返回
8115  perf_output_put( & handle, throttle_event)
8116  perf_event__output_id_sample(event, & handle, & sample)
8117  perf_output_end( & handle)
调用者
名称描述
event_sched_in
perf_adjust_freq_unthr_contextmbine freq adjustment with unthrottling to avoid two passes over the* events. At the same time, make sure, having freq events does not change* the rate of unthrottling as that would introduce bias.
__perf_event_period
__perf_event_account_interrupt