Messages in this thread Patch in this message | | | Date | Thu, 29 Oct 2020 17:27:21 +0100 | From | Peter Zijlstra <> | Subject | [PATCH v2 2/4] perf: Simplify group_sched_in() |
| |
Collate the error paths. Code duplication only leads to divergence and extra bugs.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> --- kernel/events/core.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)
--- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -2580,11 +2580,8 @@ group_sched_in(struct perf_event *group_ 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_sched_in(struct perf_event *group_ } event_sched_out(group_event, cpuctx, ctx); +error: pmu->cancel_txn(pmu); - perf_mux_hrtimer_restart(cpuctx); - return -EAGAIN; }
| |