函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Free a context as created by inheritance by perf_event_init_task() below,* used by fork() in case of fail.* Even though the task has never lived, the context and events have been* exposed through the child_list, so we must take care tearing it all down.

函数原型:void perf_event_free_task(struct task_struct *task)

返回类型:void

参数:

类型参数名称
struct task_struct *task
11972  ctx等于perf_event_ctxp[ctxn]
11973  如果非ctx则继续下一循环
11976  mutex_lock( & Protect the list of events. Locking either mutex or lock* is sufficient to ensure the list doesn't change; to change* the list you need to lock both the mutex and the spinlock.)
11977  关闭本地中断,获取所要保护的运行队列(runqueue)的自旋锁(spinlock),为查找可运行进程做准备。( & Protect the states of the events in the list,* nr_active, and the list:)
11984  RCU_INIT_POINTER() - initialize an RCU protected pointer*@p: The pointer to be initialized.*@v: The value to initialized the pointer to.* Initialize an RCU-protected pointer in special cases where readers(perf_event_ctxp[ctxn], NULL)
11985  WRITE_ONCE(task, TASK_TOMBSTONE)
11986  put_task_struct(task)
11987  raw_spin_unlock_irq( & Protect the states of the events in the list,* nr_active, and the list:)
11989  list_for_each_entry_safe - iterate over list of given type safe against removal of list entry*@pos: the type * to use as a loop cursor.*@n: another type * to use as temporary storage*@head: the head for your list.(event, tmp, & event_list, event_entry)
11990  perf_free_event(event, ctx)
11992  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
12008  wait_var_event( & refcount, _read - get a refcount's value*@r: the refcount* Return: the refcount's value == 1)
12009  put_ctx(ctx)
调用者
名称描述
perf_event_init_task进程性能调优