|
@@ -6567,6 +6567,12 @@ done:
|
|
|
atomic_inc(&nr_comm_events);
|
|
|
if (event->attr.task)
|
|
|
atomic_inc(&nr_task_events);
|
|
|
+ if (has_branch_stack(event)) {
|
|
|
+ static_key_slow_inc(&perf_sched_events.key);
|
|
|
+ if (!(event->attach_state & PERF_ATTACH_TASK))
|
|
|
+ atomic_inc(&per_cpu(perf_branch_stack_events,
|
|
|
+ event->cpu));
|
|
|
+ }
|
|
|
if (event->attr.sample_type & PERF_SAMPLE_CALLCHAIN) {
|
|
|
err = get_callchain_buffers();
|
|
|
if (err) {
|
|
@@ -6574,12 +6580,6 @@ done:
|
|
|
return ERR_PTR(err);
|
|
|
}
|
|
|
}
|
|
|
- if (has_branch_stack(event)) {
|
|
|
- static_key_slow_inc(&perf_sched_events.key);
|
|
|
- if (!(event->attach_state & PERF_ATTACH_TASK))
|
|
|
- atomic_inc(&per_cpu(perf_branch_stack_events,
|
|
|
- event->cpu));
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
return event;
|