函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |