On Tue, May 25, 2010 at 6:18 PM, Peter Zijlstra <pet...@infradead.org> wrote: > On Tue, 2010-05-25 at 18:10 +0200, Stephane Eranian wrote: >> > Index: linux-2.6/kernel/perf_event.c >> > =================================================================== >> > --- linux-2.6.orig/kernel/perf_event.c >> > +++ linux-2.6/kernel/perf_event.c >> > @@ -668,15 +668,9 @@ group_sched_in(struct perf_event *group_ >> > } >> > } >> > >> > - if (!txn) >> > + if (!txn || !pmu->commit_txn(pmu)) >> > return 0; >> > >> > - ret = pmu->commit_txn(pmu); >> > - if (!ret) { >> > - pmu->cancel_txn(pmu); >> > - return 0; >> > - } >> > - >> > group_error: >> > /* >> > * Groups can be scheduled in as one unit only, so undo any >> > >> Looks okay. >> >> I believe you can also drop the txn test in group_sched_in() after >> group_error:, >> given you have the if !(txn) return 0. > > Can't we still get in the group_error: branch with either scenario? > You're right. We must keep it because of failure in the siblings' loop.
------------------------------------------------------------------------------ _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel