Function report |
Source Code:kernel\trace\trace.c |
Create Date:2022-07-28 12:01:49 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:tracing_splice_read_pipe
Proto:static ssize_t tracing_splice_read_pipe(struct file *filp, loff_t *ppos, struct pipe_inode_info *pipe, size_t len, unsigned int flags)
Type:ssize_t
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct file * | filp | |
| loff_t * | ppos | |
| struct pipe_inode_info * | pipe | |
| size_t | len | |
| unsigned int | flags |
| 6273 | If r dynamic pipe sizing Then Return -ENOMEM |
| 6276 | mutex_lock( & mutex) |
| 6278 | If splice_read Then |
| 6289 | If Not ent && Not Find the next real entry, and increment the iterator to the next entry Then |
| 6294 | trace_event_read_lock() |
| 6295 | trace_access_lock(cpu_file) |
| 6298 | When i < pages[] & partial[] arrays size && rem cycle |
| 6299 | page map [i] = alloc_page(GFP_KERNEL) |
| 6303 | rem = tracing_fill_pipe_page(rem, iter) |
| 6309 | If ret < 0 Then |
| 6310 | __free_page(page map [i]) |
| 6311 | Break |
| 6313 | offset = 0 |
| 6319 | trace_access_unlock(cpu_file) |
| 6320 | trace_event_read_unlock() |
| 6323 | umber of populated pages in map = i |
| 6327 | Else ret = 0 |
| 6329 | out : |
| 6330 | splice_shrink_spd( & spd) |
| 6331 | Return ret |
| 6333 | out_err : |
| 6335 | Go to out |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |