函数逻辑报告 |
Source Code:kernel\events\core.c |
Create Date:2022-07-27 14:56:55 |
Last Modify:2022-05-20 07:50:19 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:perf_prepare_sample
函数原型:void perf_prepare_sample(struct perf_event_header *header, struct perf_sample_data *data, struct perf_event *event, struct pt_regs *regs)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct perf_event_header * | header | |
struct perf_sample_data * | data | |
struct perf_event * | event | |
struct pt_regs * | regs |
6787 | sample_type等于sample_type |
6789 | type等于PERF_RECORD_SAMPLE |
6790 | size等于header的长度加header_size |
6792 | misc等于0 |
6793 | misc或等于perf_misc_flags(regs) |
6795 | __perf_event_header__init_id(header, data, event) |
6797 | 如果sample_type按位与PERF_SAMPLE_IP则ip等于perf_instruction_pointer(regs) |
6800 | 如果sample_type按位与PERF_SAMPLE_CALLCHAIN则 |
6801 | size等于1 |
6803 | 如果非sample_type按位与__PERF_SAMPLE_CALLCHAIN_EARLY的值则callchain等于perf_callchain(event, regs) |
6811 | 如果sample_type按位与PERF_SAMPLE_RAW则 |
6815 | 如果raw则 |
6817 | sum等于0 |
6819 | 循环 |
6824 | 当1循环 |
6829 | 否则 |
6836 | 如果sample_type按位与PERF_SAMPLE_BRANCH_STACK则 |
6838 | 如果br_stack则 |
6839 | size加等于nr乘sizeof(structperf_branch_entry) |
6845 | 如果sample_type按位与PERF_SAMPLE_REGS_USER按位或PERF_SAMPLE_STACK_USER的值则perf_sample_regs_user( & regs_user, regs, & regs_user_copy) |
6849 | 如果sample_type按位与PERF_SAMPLE_REGS_USER则 |
6853 | 如果regs则 |
6861 | 如果sample_type按位与PERF_SAMPLE_STACK_USER则 |
6868 | stack_size等于sample_stack_user |
6871 | stack_size等于perf_sample_ustack_size(stack_size, size, regs) |
6879 | 如果stack_size则size加等于sizeof(u64)加stack_size |
6882 | stack_user_size等于stack_size |
6886 | 如果sample_type按位与PERF_SAMPLE_REGS_INTR则 |
6890 | perf_sample_regs_intr( & regs_intr, regs) |
6892 | 如果regs则 |
6904 | 如果sample_type按位与PERF_SAMPLE_AUX则 |
6915 | size等于min_t - return minimum of two values, using the specified type*@type: data type to use*@x: first value*@y: second value(size_t, U16_MAX - size, aux_sample_size) |
6918 | size等于perf_prepare_sample_aux(event, data, size) |
6920 | WARN_ON_ONCE(size + size > U16_MAX) |
6931 | WARN_ON_ONCE(size & 7) |
名称 | 描述 |
---|---|
__perf_event_output |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |