[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1273269355.1642.383.camel@laptop>
Date: Fri, 07 May 2010 23:55:55 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: mingo@...hat.com, hpa@...or.com, eranian@...gle.com,
paulus@...ba.org, linux-kernel@...r.kernel.org,
davem@...emloft.net, fweisbec@...il.com, ming.m.lin@...el.com,
tglx@...utronix.de, mingo@...e.hu
Cc: linux-tip-commits@...r.kernel.org
Subject: Re: [tip:perf/core] perf: Add group scheduling transactional APIs
On Fri, 2010-05-07 at 18:44 +0000, tip-bot for Lin Ming wrote:
> Commit-ID: 6bde9b6ce0127e2a56228a2071536d422be31336
> Gitweb: http://git.kernel.org/tip/6bde9b6ce0127e2a56228a2071536d422be31336
> Author: Lin Ming <ming.m.lin@...el.com>
> AuthorDate: Fri, 23 Apr 2010 13:56:00 +0800
> Committer: Ingo Molnar <mingo@...e.hu>
> CommitDate: Fri, 7 May 2010 11:31:02 +0200
>
> perf: Add group scheduling transactional APIs
>
> Add group scheduling transactional APIs to struct pmu.
> These APIs will be implemented in arch code, based on Peter's idea as
> below.
>
> > the idea behind hw_perf_group_sched_in() is to not perform
> > schedulability tests on each event in the group, but to add the group
> > as a whole and then perform one test.
> >
> > Of course, when that test fails, you'll have to roll-back the whole
> > group again.
> >
> > So start_txn (or a better name) would simply toggle a flag in the pmu
> > implementation that will make pmu::enable() not perform the
> > schedulablilty test.
> >
> > Then commit_txn() will perform the schedulability test (so note the
> > method has to have a !void return value.
> >
> > This will allow us to use the regular
> > kernel/perf_event.c::group_sched_in() and all the rollback code.
> > Currently each hw_perf_group_sched_in() implementation duplicates all
> > the rolllback code (with various bugs).
>
> ->start_txn:
> Start group events scheduling transaction, set a flag to make
> pmu::enable() not perform the schedulability test, it will be performed
> at commit time.
>
> ->commit_txn:
> Commit group events scheduling transaction, perform the group
> schedulability as a whole
>
> ->cancel_txn:
> Stop group events scheduling transaction, clear the flag so
> pmu::enable() will perform the schedulability test.
>
> Reviewed-by: Stephane Eranian <eranian@...gle.com>
> Reviewed-by: Frederic Weisbecker <fweisbec@...il.com>
> Signed-off-by: Lin Ming <ming.m.lin@...el.com>
> Cc: David Miller <davem@...emloft.net>
> Cc: Paul Mackerras <paulus@...ba.org>
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
> LKML-Reference: <1272002160.5707.60.camel@...ggr.sh.intel.com>
> Signed-off-by: Ingo Molnar <mingo@...e.hu>
Paul, are you ok with the powerpc patch that goes with this:
https://patchwork.kernel.org/patch/94620/
(I've got a slightly modified version because I did rename things back
to txn)
Dave already said he was OK with the sparc bits.
If you don't object, I'll push both patches to Ingo.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists