函数逻辑报告 | 
Source Code:kernel\trace\trace.c | 
Create Date:2022-07-27 13:08:06 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:tracing_splice_read_pipe
函数原型:static ssize_t tracing_splice_read_pipe(struct file *filp, loff_t *ppos, struct pipe_inode_info *pipe, size_t len, unsigned int flags)
返回类型:ssize_t
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct file * | filp | |
| loff_t * | ppos | |
| struct pipe_inode_info * | pipe | |
| size_t | len | |
| unsigned int | flags | 
| 6273 | 如果r dynamic pipe sizing则返回:负ENOMEM | 
| 6276 | mutex_lock( & mutex) | 
| 6278 | 如果splice_read则 | 
| 6294 | trace_event_read_lock() | 
| 6295 | trace_access_lock(cpu_file) | 
| 6298 | 以i小于pages[] & partial[] arrays size 且rem循环 | 
| 6299 | page map [i]等于alloc_page(GFP_KERNEL) | 
| 6303 | rem等于tracing_fill_pipe_page(rem, iter) | 
| 6309 | 如果ret小于0则 | 
| 6310 | __free_page(page map [i]) | 
| 6311 | 退出 | 
| 6313 | offset等于0 | 
| 6319 | trace_access_unlock(cpu_file) | 
| 6320 | trace_event_read_unlock() | 
| 6323 | umber of populated pages in map 等于i | 
| 6327 | 否则ret等于0 | 
| 6329 | out : | 
| 6330 | splice_shrink_spd( & spd) | 
| 6331 | 返回:ret | 
| 6333 | out_err : | 
| 6335 | 转到:out | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |