函数逻辑报告 |
Source Code:kernel\trace\trace.c |
Create Date:2022-07-27 13:06:20 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:__tracing_open
函数原型:static struct trace_iterator *__tracing_open(struct inode *inode, struct file *file, bool snapshot)
返回类型:struct trace_iterator
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct inode * | inode | |
| struct file * | file | |
| bool | snapshot |
| 4169 | iter等于__seq_open_private(file, & tracer_seq_ops, iter的长度) |
| 4173 | buffer_iter等于分配数组内存并置零 |
| 4175 | 如果非buffer_iter则转到:release |
| 4187 | trace等于current_trace |
| 4189 | 如果非zalloc_cpumask_var( & started, GFP_KERNEL)则转到:fail |
| 4200 | trace_buffer等于trace_buffer |
| 4202 | pos等于负1 |
| 4203 | cpu_file等于Should be used after trace_array_get(), trace_types_lock* ensures that i_cdev was already initialized. |
| 4204 | mutex_init - initialize the mutex*@mutex: the mutex to be initialized* Initialize the mutex to unlocked state.* It is not allowed to initialize an already locked mutex.( & mutex) |
| 4211 | 如果g_buffer_overruns - get the number of overruns in buffer*@buffer: The ring buffer* Returns the total number of overruns in the ring buffer* (all CPU entries)则iter_flags或等于TRACE_FILE_ANNOTATE |
| 4222 | 如果cpu_file恒等于RING_BUFFER_ALL_CPUS则 |
| 4233 | 否则 |
| 4240 | tracing_iter_reset(iter, cpu) |
| 4245 | 返回:iter |
| 4247 | fail : |
| 4250 | kfree(buffer_iter) |
| 4251 | release : |
| 4252 | seq_release_private(inode, file) |
| 4253 | 返回:错误号 |
| 名称 | 描述 |
|---|---|
| tracing_open |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |