Lines Matching refs:parent_event
10402 struct perf_event *parent_event, in perf_event_alloc() argument
10454 event->parent = parent_event; in perf_event_alloc()
10472 if (parent_event) in perf_event_alloc()
10473 event->clock = parent_event->clock; in perf_event_alloc()
10475 if (!overflow_handler && parent_event) { in perf_event_alloc()
10476 overflow_handler = parent_event->overflow_handler; in perf_event_alloc()
10477 context = parent_event->overflow_handler_context; in perf_event_alloc()
10480 struct bpf_prog *prog = bpf_prog_inc(parent_event->prog); in perf_event_alloc()
10488 parent_event->orig_overflow_handler; in perf_event_alloc()
11472 struct perf_event *parent_event = child_event->parent; in sync_child_event() local
11483 atomic64_add(child_val, &parent_event->child_count); in sync_child_event()
11485 &parent_event->child_total_time_enabled); in sync_child_event()
11487 &parent_event->child_total_time_running); in sync_child_event()
11495 struct perf_event *parent_event = child_event->parent; in perf_event_exit_event() local
11512 if (parent_event) in perf_event_exit_event()
11521 if (!parent_event) { in perf_event_exit_event()
11534 WARN_ON_ONCE(parent_event->ctx->parent_ctx); in perf_event_exit_event()
11535 mutex_lock(&parent_event->child_mutex); in perf_event_exit_event()
11537 mutex_unlock(&parent_event->child_mutex); in perf_event_exit_event()
11542 perf_event_wakeup(parent_event); in perf_event_exit_event()
11544 put_event(parent_event); in perf_event_exit_event()
11768 inherit_event(struct perf_event *parent_event, in inherit_event() argument
11775 enum perf_event_state parent_state = parent_event->state; in inherit_event()
11785 if (parent_event->parent) in inherit_event()
11786 parent_event = parent_event->parent; in inherit_event()
11788 child_event = perf_event_alloc(&parent_event->attr, in inherit_event()
11789 parent_event->cpu, in inherit_event()
11791 group_leader, parent_event, in inherit_event()
11815 mutex_lock(&parent_event->child_mutex); in inherit_event()
11816 if (is_orphaned_event(parent_event) || in inherit_event()
11817 !atomic_long_inc_not_zero(&parent_event->refcount)) { in inherit_event()
11818 mutex_unlock(&parent_event->child_mutex); in inherit_event()
11836 if (parent_event->attr.freq) { in inherit_event()
11837 u64 sample_period = parent_event->hw.sample_period; in inherit_event()
11847 child_event->overflow_handler = parent_event->overflow_handler; in inherit_event()
11849 = parent_event->overflow_handler_context; in inherit_event()
11867 list_add_tail(&child_event->child_list, &parent_event->child_list); in inherit_event()
11868 mutex_unlock(&parent_event->child_mutex); in inherit_event()
11883 static int inherit_group(struct perf_event *parent_event, in inherit_group() argument
11893 leader = inherit_event(parent_event, parent, parent_ctx, in inherit_group()
11902 for_each_sibling_event(sub, parent_event) { in inherit_group()
11908 if (sub->aux_event == parent_event && child_ctr && in inherit_group()