函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:perf_group_detach

函数原型:static void perf_group_detach(struct perf_event *event)

返回类型:void

参数:

类型参数名称
struct perf_event *event
1992  ctx等于ctx
1994  lockdep_assert_held( & Protect the states of the events in the list,* nr_active, and the list:)
1999  如果非attach_state按位与PERF_ATTACH_GROUP的值则返回
2002  attach_state与等于PERF_ATTACH_GROUP的反
2004  perf_put_aux_event(event)
2009  如果group_leader不等于event
2010  删除链表项并重新初始化
2011  nr_siblings自减
2012  转到:out
2022  group_leader等于sibling
2023  删除链表项并重新初始化
2026  group_caps等于group_caps
2031  如果state恒等于PERF_EVENT_STATE_ACTIVE
2032  list等于如果pinnedpinned_active否则flexible_active
2039  WARN_ON_ONCE(ctx != ctx)
2042  out :
2043  Called at perf_event creation and when events are attached/detached from a* group.
2045  for_each_sibling_event(tmp, group_leader)
2046  Called at perf_event creation and when events are attached/detached from a* group.
调用者
名称描述
__perf_remove_from_contextCross CPU call to remove a performance event* We disable the event on the hardware level first. After that we* remove it from the context list.
perf_remove_from_contextRemove the event from a task's (or a CPU's) list of events.* If event->ctx is a cloned context, callers must make sure that* every task struct that event->ctx->task could possibly point to* remains valid. This is OK when called from perf_release since
perf_event_exit_event
perf_free_event