Lines Matching refs:parent_event
2318 struct perf_event *parent_event = event->parent; in perf_child_detach() local
2325 if (WARN_ON_ONCE(!parent_event)) in perf_child_detach()
2328 lockdep_assert_held(&parent_event->child_mutex); in perf_child_detach()
12541 struct perf_event *parent_event, in perf_event_alloc() argument
12600 event->parent = parent_event; in perf_event_alloc()
12607 if (parent_event) in perf_event_alloc()
12608 event->event_caps = parent_event->event_caps; in perf_event_alloc()
12621 if (parent_event) in perf_event_alloc()
12622 event->clock = parent_event->clock; in perf_event_alloc()
12624 if (!overflow_handler && parent_event) { in perf_event_alloc()
12625 overflow_handler = parent_event->overflow_handler; in perf_event_alloc()
12626 context = parent_event->overflow_handler_context; in perf_event_alloc()
12628 if (parent_event->prog) { in perf_event_alloc()
12629 struct bpf_prog *prog = parent_event->prog; in perf_event_alloc()
13669 struct perf_event *parent_event = child_event->parent; in sync_child_event() local
13684 atomic64_add(child_val, &parent_event->child_count); in sync_child_event()
13686 &parent_event->child_total_time_enabled); in sync_child_event()
13688 &parent_event->child_total_time_running); in sync_child_event()
13694 struct perf_event *parent_event = event->parent; in perf_event_exit_event() local
13697 if (parent_event) { in perf_event_exit_event()
13711 mutex_lock(&parent_event->child_mutex); in perf_event_exit_event()
13719 if (parent_event) { in perf_event_exit_event()
13720 mutex_unlock(&parent_event->child_mutex); in perf_event_exit_event()
13724 perf_event_wakeup(parent_event); in perf_event_exit_event()
13962 inherit_event(struct perf_event *parent_event, in inherit_event() argument
13969 enum perf_event_state parent_state = parent_event->state; in inherit_event()
13980 if (parent_event->parent) in inherit_event()
13981 parent_event = parent_event->parent; in inherit_event()
13983 child_event = perf_event_alloc(&parent_event->attr, in inherit_event()
13984 parent_event->cpu, in inherit_event()
13986 group_leader, parent_event, in inherit_event()
14007 mutex_lock(&parent_event->child_mutex); in inherit_event()
14008 if (is_orphaned_event(parent_event) || in inherit_event()
14009 !atomic_long_inc_not_zero(&parent_event->refcount)) { in inherit_event()
14010 mutex_unlock(&parent_event->child_mutex); in inherit_event()
14025 if (parent_event->attr.freq) { in inherit_event()
14026 u64 sample_period = parent_event->hw.sample_period; in inherit_event()
14035 child_event->overflow_handler = parent_event->overflow_handler; in inherit_event()
14037 = parent_event->overflow_handler_context; in inherit_event()
14056 list_add_tail(&child_event->child_list, &parent_event->child_list); in inherit_event()
14057 mutex_unlock(&parent_event->child_mutex); in inherit_event()
14072 static int inherit_group(struct perf_event *parent_event, in inherit_group() argument
14082 leader = inherit_event(parent_event, parent, parent_ctx, in inherit_group()
14091 for_each_sibling_event(sub, parent_event) { in inherit_group()
14097 if (sub->aux_event == parent_event && child_ctr && in inherit_group()
14102 leader->group_generation = parent_event->group_generation; in inherit_group()