Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-28 13:31:17
Last Modify:2022-05-20 07:50:19 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

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

Proto:static void event_function_local(struct perf_event *event, event_f func, void *data)

Type:void

Parameter:

TypeParameterName
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  If task Then
311  If task == TASK_TOMBSTONE Then Return
314  task_ctx = ctx
317  perf_ctx_lock(cpuctx, task_ctx)
319  task = task
320  If task == TASK_TOMBSTONE Then Go to unlock
323  If task Then
329  If is_active Then
330  If WARN_ON_ONCE(task != current process) Then Go to unlock
333  If WARN_ON_ONCE(task_ctx != ctx) Then Go to unlock
336  Else
337  WARN_ON_ONCE( & ctx != ctx)
340  func(event, cpuctx, ctx, data)
341  unlock :
342  perf_ctx_unlock(cpuctx, task_ctx)
Caller
NameDescribe
perf_event_disable_local