Lines Matching refs:parent_event
2415 struct perf_event *parent_event = event->parent; in perf_child_detach() local
2422 if (WARN_ON_ONCE(!parent_event)) in perf_child_detach()
13270 struct perf_event *parent_event, in perf_event_alloc() argument
13330 event->parent = parent_event; in perf_event_alloc()
13337 if (parent_event) in perf_event_alloc()
13338 event->event_caps = parent_event->event_caps; in perf_event_alloc()
13351 if (parent_event) in perf_event_alloc()
13352 event->clock = parent_event->clock; in perf_event_alloc()
13354 if (!overflow_handler && parent_event) { in perf_event_alloc()
13355 overflow_handler = parent_event->overflow_handler; in perf_event_alloc()
13356 context = parent_event->overflow_handler_context; in perf_event_alloc()
13358 if (parent_event->prog) { in perf_event_alloc()
13359 struct bpf_prog *prog = parent_event->prog; in perf_event_alloc()
14428 struct perf_event *parent_event = child_event->parent; in sync_child_event() local
14441 atomic64_add(child_val, &parent_event->child_count); in sync_child_event()
14443 &parent_event->child_total_time_enabled); in sync_child_event()
14445 &parent_event->child_total_time_running); in sync_child_event()
14454 struct perf_event *parent_event = event->parent; in perf_event_exit_event() local
14458 if (parent_event) { in perf_event_exit_event()
14472 mutex_lock(&parent_event->child_mutex); in perf_event_exit_event()
14487 if (parent_event) { in perf_event_exit_event()
14488 mutex_unlock(&parent_event->child_mutex); in perf_event_exit_event()
14498 perf_event_wakeup(parent_event); in perf_event_exit_event()
14704 inherit_event(struct perf_event *parent_event, in inherit_event() argument
14711 enum perf_event_state parent_state = parent_event->state; in inherit_event()
14722 if (parent_event->parent) in inherit_event()
14723 parent_event = parent_event->parent; in inherit_event()
14725 if (parent_event->state <= PERF_EVENT_STATE_REVOKED) in inherit_event()
14733 child_event = perf_event_alloc(&parent_event->attr, in inherit_event()
14734 parent_event->cpu, in inherit_event()
14736 group_leader, parent_event, in inherit_event()
14744 pmu_ctx = find_get_pmu_context(parent_event->pmu_ctx->pmu, child_ctx, child_event); in inherit_event()
14757 mutex_lock(&parent_event->child_mutex); in inherit_event()
14758 if (is_orphaned_event(parent_event) || in inherit_event()
14759 !atomic_long_inc_not_zero(&parent_event->refcount)) { in inherit_event()
14760 mutex_unlock(&parent_event->child_mutex); in inherit_event()
14775 if (parent_event->attr.freq) { in inherit_event()
14776 u64 sample_period = parent_event->hw.sample_period; in inherit_event()
14785 child_event->overflow_handler = parent_event->overflow_handler; in inherit_event()
14787 = parent_event->overflow_handler_context; in inherit_event()
14806 list_add_tail(&child_event->child_list, &parent_event->child_list); in inherit_event()
14807 mutex_unlock(&parent_event->child_mutex); in inherit_event()
14822 static int inherit_group(struct perf_event *parent_event, in inherit_group() argument
14832 leader = inherit_event(parent_event, parent, parent_ctx, in inherit_group()
14841 for_each_sibling_event(sub, parent_event) { in inherit_group()
14847 if (sub->aux_event == parent_event && child_ctr && in inherit_group()
14852 leader->group_generation = parent_event->group_generation; in inherit_group()