函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\tracepoint.c Create Date:2022-07-27 12:55:23
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:func_remove

函数原型:static void *func_remove(struct tracepoint_func **funcs, struct tracepoint_func *tp_func)

返回类型:void

参数:

类型参数名称
struct tracepoint_func **funcs
struct tracepoint_func *tp_func
179  nr_probes等于0, nr_del等于0
182  old等于funcs
184  如果非old则返回:错误号
187  debug_print_probes( * funcs)
189  如果func
190 func循环
191  如果func恒等于funcdata恒等于datanr_del自加
201  如果nr_probesnr_del恒等于0则
203  * funcs = NULL
204  debug_print_probes( * funcs)
205  返回:old
206  否则
207  j等于0
210  new等于allocate_probes(nr_probes - nr_del + 1)
211  如果(new == NULL)则返回:错误号
213 func循环如果func不等于funcdata不等于data
216  new[j++]等于old[i]
217  func = NULL
218  funcs等于new
220  debug_print_probes( * funcs)
221  返回:old
调用者
名称描述
tracepoint_remove_funcRemove a probe function from a tracepoint.* Note: only waiting an RCU period after setting elem->call to the empty* function insures that the original callback is not used anymore. This insured* by preempt_disable around the call site.