函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-27 14:50:06
Last Modify:2022-05-20 07:50:19 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Similar to event_function_call() + event_function(), but hard assumes IRQs* are already disabled and we're on the right CPU.

函数原型:static void event_function_local(struct perf_event *event, event_f func, void *data)

返回类型:void

参数:

类型参数名称
struct perf_event *event
event_ffunc
void *data
303  ctx等于ctx
304  cpuctx等于__get_cpu_context(ctx)
305  task等于READ_ONCE(task)
306  struct perf_event_context * task_ctx = NULL
308  lockdep_assert_irqs_disabled()
310  如果task
311  如果task恒等于TASK_TOMBSTONE则返回
314  task_ctx等于ctx
317  perf_ctx_lock(cpuctx, task_ctx)
319  task等于task
320  如果task恒等于TASK_TOMBSTONE则转到:unlock
323  如果task
329  如果is_active
330  如果WARN_ON_ONCE(task != 当前进程)则转到:unlock
333  如果WARN_ON_ONCE(task_ctx != ctx)则转到:unlock
336  否则
337  WARN_ON_ONCE( & ctx != ctx)
340  func(event, cpuctx, ctx, data)
341  unlock :
342  perf_ctx_unlock(cpuctx, task_ctx)
调用者
名称描述
perf_event_disable_local