| Function report | 
| Source Code: kernel\trace\fgraph.c | Create Date:2022-07-28 12:17:49 | 
| Last Modify:2020-03-17 20:08:56 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:Try to assign a return stack array on FTRACE_RETSTACK_ALLOC_SIZE tasks.
Proto:static int alloc_retstack_tasklist(struct ftrace_ret_stack **ret_stack_list)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct ftrace_ret_stack ** | ret_stack_list | 
| 373 | ret = 0 | 
| 374 | start = 0 , end = FTRACE_RETSTACK_ALLOC_SIZE | 
| 377 | When i < FTRACE_RETSTACK_ALLOC_SIZE cycle | 
| 378 | ret_stack_list[i] = kmalloc_array - allocate memory for an array.*@n: number of elements.*@size: element size.*@flags: the type of memory to allocate (see kmalloc). | 
| 382 | If Not ret_stack_list[i] Then | 
| 390 | read_lock( & tasklist_lock) | 
| 397 | If (ret_stack == NULL) Then | 
| 398 | atomic_set( & tracing_graph_pause, 0) | 
| 399 | atomic_set( & trace_overrun, 0) | 
| 400 | curr_ret_stack = -1 | 
| 401 | curr_ret_depth = -1 | 
| 403 | smp_wmb() | 
| 404 | ret_stack = ret_stack_list[start++] | 
| 408 | unlock : | 
| 409 | read_unlock( & tasklist_lock) | 
| 410 | free : | 
| 413 | Return ret | 
| Name | Describe | 
|---|---|
| start_graph_tracing | Allocate a return stack for each task | 
| 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 |