函数逻辑报告 |
Source Code:kernel\events\core.c |
Create Date:2022-07-27 14:55:19 |
Last Modify:2022-05-20 07:50:19 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:ring_buffer_attach
函数原型:static void ring_buffer_attach(struct perf_event *event, struct ring_buffer *rb)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct perf_event * | event | |
struct ring_buffer * | rb |
5554 | struct ring_buffer * old_rb = NULL |
5557 | 如果rb则 |
5562 | WARN_ON_ONCE(rcu_pending) |
5565 | spin_lock_irqsave( & poll crap , flags) |
5566 | 删除不需要重新初始化的列表项 |
5567 | spin_unlock_irqrestore( & poll crap , flags) |
5570 | rcu_pending等于1 |
5573 | 如果rb则 |
5574 | 如果rcu_pending则 |
5576 | rcu_pending等于0 |
5579 | spin_lock_irqsave( & poll crap , flags) |
5580 | 添加RCU保护项 |
5581 | spin_unlock_irqrestore( & poll crap , flags) |
5594 | 如果has_aux(event)则perf_event_stop(event, 0) |
5599 | 如果old_rb则 |
5600 | ring_buffer_put(old_rb) |
5606 | wake_up_all( & waitq) |
名称 | 描述 |
---|---|
_free_event | |
perf_mmap_close | A buffer can be mmap()ed multiple times; either directly through the same* event, or through other events by use of perf_event_set_output().* In order to undo the VM accounting done by perf_mmap() we need to destroy |
perf_mmap | |
perf_event_set_output |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |