Commit 251ff2d4 authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files

perf: Simplify group_sched_in()



Collate the error paths. Code duplication only leads to divergence and
extra bugs.

Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20201029162901.972161394@infradead.org
parent 8c7855d8
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -2580,11 +2580,8 @@ group_sched_in(struct perf_event *group_event,

	pmu->start_txn(pmu, PERF_PMU_TXN_ADD);

	if (event_sched_in(group_event, cpuctx, ctx)) {
		pmu->cancel_txn(pmu);
		perf_mux_hrtimer_restart(cpuctx);
		return -EAGAIN;
	}
	if (event_sched_in(group_event, cpuctx, ctx))
		goto error;

	/*
	 * Schedule in siblings as one group (if any):
@@ -2613,10 +2610,9 @@ group_error:
	}
	event_sched_out(group_event, cpuctx, ctx);

error:
	pmu->cancel_txn(pmu);

	perf_mux_hrtimer_restart(cpuctx);

	return -EAGAIN;
}