函数逻辑报告 | 
Source Code:kernel\events\ring_buffer.c | 
Create Date:2022-07-27 15:03:07 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:This is called before hardware starts writing to the AUX area to* obtain an output handle and make sure there's room in the buffer
函数原型:void *perf_aux_output_begin(struct perf_output_handle *handle, struct perf_event *event)
返回类型:void
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct perf_output_handle * | handle | |
| struct perf_event * | event | 
| 362 | output_event等于event | 
| 367 | 如果parent则output_event等于parent | 
| 375 | rb等于ring_buffer_get(output_event) | 
| 376 | 如果非rb则返回:NULL | 
| 379 | 如果非rb_has_aux(rb)则转到:err | 
| 390 | 如果非atomic_read( & aux_mmap_count)则转到:err | 
| 401 | 如果WARN_ON_ONCE(nest)则转到:err_put | 
| 404 | WRITE_ONCE(aux_nest, nest + 1) | 
| 411 | size等于0 | 
| 412 | aux_flags等于0 | 
| 419 | 如果非aux_overwrite则 | 
| 430 | 如果非size则 | 
| 431 | pending_disable等于当前cpu ID() | 
| 432 | perf_output_wakeup(handle) | 
| 433 | WRITE_ONCE(aux_nest, 0) | 
| 434 | 转到:err_put | 
| 438 | 返回:aux_priv | 
| 440 | err_put : | 
| 442 | rb_free_aux(rb) | 
| 444 | err : | 
| 445 | ring_buffer_put(rb) | 
| 446 | event = NULL | 
| 448 | 返回:NULL | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |