Lines Matching refs:child_event
10963 static void sync_child_event(struct perf_event *child_event, in sync_child_event() argument
10966 struct perf_event *parent_event = child_event->parent; in sync_child_event()
10969 if (child_event->attr.inherit_stat) in sync_child_event()
10970 perf_event_read_event(child_event, child); in sync_child_event()
10972 child_val = perf_event_count(child_event); in sync_child_event()
10978 atomic64_add(child_event->total_time_enabled, in sync_child_event()
10980 atomic64_add(child_event->total_time_running, in sync_child_event()
10985 perf_event_exit_event(struct perf_event *child_event, in perf_event_exit_event() argument
10989 struct perf_event *parent_event = child_event->parent; in perf_event_exit_event()
11007 perf_group_detach(child_event); in perf_event_exit_event()
11008 list_del_event(child_event, child_ctx); in perf_event_exit_event()
11009 perf_event_set_state(child_event, PERF_EVENT_STATE_EXIT); /* is_event_hup() */ in perf_event_exit_event()
11016 perf_event_wakeup(child_event); in perf_event_exit_event()
11023 sync_child_event(child_event, child); in perf_event_exit_event()
11030 list_del_init(&child_event->child_list); in perf_event_exit_event()
11037 free_event(child_event); in perf_event_exit_event()
11044 struct perf_event *child_event, *next; in perf_event_exit_task_context() local
11094 list_for_each_entry_safe(child_event, next, &child_ctx->event_list, event_entry) in perf_event_exit_task_context()
11095 perf_event_exit_event(child_event, child_ctx, child); in perf_event_exit_task_context()
11256 struct perf_event *child_event; in inherit_event() local
11268 child_event = perf_event_alloc(&parent_event->attr, in inherit_event()
11273 if (IS_ERR(child_event)) in inherit_event()
11274 return child_event; in inherit_event()
11277 if ((child_event->attach_state & PERF_ATTACH_TASK_DATA) && in inherit_event()
11279 struct pmu *pmu = child_event->pmu; in inherit_event()
11284 free_event(child_event); in inherit_event()
11300 free_event(child_event); in inherit_event()
11312 child_event->state = PERF_EVENT_STATE_INACTIVE; in inherit_event()
11314 child_event->state = PERF_EVENT_STATE_OFF; in inherit_event()
11318 struct hw_perf_event *hwc = &child_event->hw; in inherit_event()
11326 child_event->ctx = child_ctx; in inherit_event()
11327 child_event->overflow_handler = parent_event->overflow_handler; in inherit_event()
11328 child_event->overflow_handler_context in inherit_event()
11334 perf_event__header_size(child_event); in inherit_event()
11335 perf_event__id_header_size(child_event); in inherit_event()
11341 add_event_to_ctx(child_event, child_ctx); in inherit_event()
11347 list_add_tail(&child_event->child_list, &parent_event->child_list); in inherit_event()
11350 return child_event; in inherit_event()