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> Link: https://lkml.kernel.org/r/20201029162901.972161394@infradead.org
This commit is contained in:
Родитель
8c7855d829
Коммит
251ff2d493
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче