Lines Matching refs:group_leader
611 struct perf_event *leader = event->group_leader; in __perf_effective_state()
896 struct perf_event *group_leader) in perf_cgroup_connect() argument
921 if (group_leader && group_leader->cgrp != cgrp) { in perf_cgroup_connect()
1023 struct perf_event *group_leader) in perf_cgroup_connect() argument
1478 if (event->group_leader != event) in get_event_type()
1479 event = event->group_leader; in get_event_type()
1679 if (event->group_leader == event) { in list_add_event()
1766 event->group_leader->nr_siblings); in perf_event__header_size()
1803 __perf_event_read_size(event, event->group_leader->nr_siblings + 1); in perf_event_validate_size()
1820 struct perf_event *group_leader = event->group_leader, *pos; in perf_group_attach() local
1832 if (group_leader == event) in perf_group_attach()
1835 WARN_ON_ONCE(group_leader->ctx != event->ctx); in perf_group_attach()
1837 group_leader->group_caps &= event->event_caps; in perf_group_attach()
1839 list_add_tail(&event->sibling_list, &group_leader->sibling_list); in perf_group_attach()
1840 group_leader->nr_siblings++; in perf_group_attach()
1842 perf_event__header_size(group_leader); in perf_group_attach()
1844 for_each_sibling_event(pos, group_leader) in perf_group_attach()
1874 if (event->group_leader == event) in list_del_event()
1927 for_each_sibling_event(iter, event->group_leader) { in perf_put_aux_event()
1945 struct perf_event *group_leader) in perf_get_aux_event() argument
1953 if (!group_leader) in perf_get_aux_event()
1956 if (!perf_aux_output_match(event, group_leader)) in perf_get_aux_event()
1959 if (!atomic_long_inc_not_zero(&group_leader->refcount)) in perf_get_aux_event()
1968 event->aux_event = group_leader; in perf_get_aux_event()
1993 if (event->group_leader != event) { in perf_group_detach()
1995 event->group_leader->nr_siblings--; in perf_group_detach()
2006 sibling->group_leader = sibling; in perf_group_detach()
2027 perf_event__header_size(event->group_leader); in perf_group_detach()
2029 for_each_sibling_event(tmp, event->group_leader) in perf_group_detach()
2229 if (event == event->group_leader) in __perf_event_disable()
2746 struct perf_event *leader = event->group_leader; in __perf_event_enable()
4882 struct perf_event *leader = event->group_leader, *child; in perf_read_group()
5060 event = event->group_leader; in perf_event_for_each()
6276 struct perf_event *leader = event->group_leader, *sub; in perf_output_read_group()
10200 if (event->group_leader != event && pmu->task_ctx_nr != perf_sw_context) { in perf_try_init_event()
10205 ctx = perf_event_ctx_lock_nested(event->group_leader, in perf_try_init_event()
10214 perf_event_ctx_unlock(event->group_leader, ctx); in perf_try_init_event()
10401 struct perf_event *group_leader, in perf_event_alloc() argument
10424 if (!group_leader) in perf_event_alloc()
10425 group_leader = event; in perf_event_alloc()
10450 event->group_leader = group_leader; in perf_event_alloc()
10527 err = perf_cgroup_connect(cgroup_fd, event, attr, group_leader); in perf_event_alloc()
10844 __perf_event_ctx_lock_double(struct perf_event *group_leader, in __perf_event_ctx_lock_double() argument
10851 gctx = READ_ONCE(group_leader->ctx); in __perf_event_ctx_lock_double()
10860 if (group_leader->ctx != gctx) { in __perf_event_ctx_lock_double()
10882 struct perf_event *group_leader = NULL, *output_event = NULL; in SYSCALL_DEFINE5() local
10954 group_leader = group.file->private_data; in SYSCALL_DEFINE5()
10956 output_event = group_leader; in SYSCALL_DEFINE5()
10958 group_leader = NULL; in SYSCALL_DEFINE5()
10969 if (task && group_leader && in SYSCALL_DEFINE5()
10970 group_leader->attr.inherit != attr.inherit) { in SYSCALL_DEFINE5()
10996 event = perf_event_alloc(&attr, cpu, task, group_leader, NULL, in SYSCALL_DEFINE5()
11025 if (group_leader) { in SYSCALL_DEFINE5()
11027 !in_software_context(group_leader)) { in SYSCALL_DEFINE5()
11036 pmu = group_leader->ctx->pmu; in SYSCALL_DEFINE5()
11038 is_software_event(group_leader) && in SYSCALL_DEFINE5()
11039 (group_leader->group_caps & PERF_EV_CAP_SOFTWARE)) { in SYSCALL_DEFINE5()
11061 if (group_leader) { in SYSCALL_DEFINE5()
11068 if (group_leader->group_leader != group_leader) in SYSCALL_DEFINE5()
11072 if (group_leader->clock != event->clock) in SYSCALL_DEFINE5()
11080 if (group_leader->cpu != event->cpu) in SYSCALL_DEFINE5()
11087 if (group_leader->ctx->task != ctx->task) in SYSCALL_DEFINE5()
11095 if (!move_group && group_leader->ctx != ctx) in SYSCALL_DEFINE5()
11120 gctx = __perf_event_ctx_lock_double(group_leader, ctx); in SYSCALL_DEFINE5()
11131 if (!(group_leader->group_caps & PERF_EV_CAP_SOFTWARE)) { in SYSCALL_DEFINE5()
11141 perf_event_ctx_unlock(group_leader, gctx); in SYSCALL_DEFINE5()
11150 if (!exclusive_event_installable(group_leader, ctx)) in SYSCALL_DEFINE5()
11153 for_each_sibling_event(sibling, group_leader) { in SYSCALL_DEFINE5()
11187 if (event->attr.aux_output && !perf_get_aux_event(event, group_leader)) in SYSCALL_DEFINE5()
11211 perf_remove_from_context(group_leader, 0); in SYSCALL_DEFINE5()
11214 for_each_sibling_event(sibling, group_leader) { in SYSCALL_DEFINE5()
11235 for_each_sibling_event(sibling, group_leader) { in SYSCALL_DEFINE5()
11246 perf_event__state_init(group_leader); in SYSCALL_DEFINE5()
11247 perf_install_in_context(ctx, group_leader, group_leader->cpu); in SYSCALL_DEFINE5()
11266 perf_event_ctx_unlock(group_leader, gctx); in SYSCALL_DEFINE5()
11290 perf_event_ctx_unlock(group_leader, gctx); in SYSCALL_DEFINE5()
11441 if (event->group_leader == event) in perf_pmu_migrate_context()
11772 struct perf_event *group_leader, in inherit_event() argument
11791 group_leader, parent_event, in inherit_event()