From: Lin Ming <ming.m.lin@intel.com>
To: Peter Zijlstra <peterz@infradead.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Ingo Molnar <mingo@elte.hu>,
"eranian@gmail.com" <eranian@gmail.com>,
"Gary.Mohr@Bull.com" <Gary.Mohr@bull.com>,
Corey Ashford <cjashfor@linux.vnet.ibm.com>,
"arjan@linux.intel.com" <arjan@linux.intel.com>,
"Zhang, Yanmin" <yanmin_zhang@linux.intel.com>,
Paul Mackerras <paulus@samba.org>,
"David S. Miller" <davem@davemloft.net>
Cc: lkml <linux-kernel@vger.kernel.org>
Subject: [RFC][PATCH v2 0/4] perf: remove __weak function hw_perf_group_sched_in()
Date: Fri, 23 Apr 2010 13:55:42 +0800 [thread overview]
Message-ID: <1272002142.5707.59.camel@minggr.sh.intel.com> (raw)
Hi, all
>From the discussion of thread "[RFC] perf_events: support for uncore
a.k.a. nest units", in order to support multiple hw pmu, Peter suggested
the first thing that needs to be done is get rid of all the __weak
functions (with exception of perf_callchain*, since that really is arch
specific), includes
hw_perf_group_sched_in
hw_perf_event_init
hw_perf_disable
hw_perf_enable
Peter Zijlstra <peterz@infradead.org> wrote:
> One thing not on that list, which should happen first I guess, is to
> remove hw_perf_group_sched_in(). The idea is to add some sort of
> transactional API to the struct pmu, so that we can delay the
> schedulability check until commit time (and roll back when it fails).
>
> Something as simple as:
>
> struct pmu {
> void start_txn(struct pmu *);
> void commit_txn(struct pmu *);
>
> ,,,
> };
>
> and then change group_sched_in() to use this instead of
> hw_perf_group_sched_in(), whose implementations mostly replicate
> group_sched_in() in various buggy ways anyway.
>
This patch series is to remove hw_perf_group_sched_in() first.
patch 1: core, add group scheduling transactional APIs
patch 2: x86, implement group scheduling transactional APIs
patch 3: powerpc, implement group scheduling transactional APIs
patch 4: sparc, implement group scheduling transactional APIs
I have tested these patches on x86, but for powerpc and sparc it's only
cross build tested.
It's very appreciated if anybody has powerpc or sparc can help to test.
Thanks for any comment.
Changes log:
v2.
Change transaction flag(cpu_hw_events->group_flag) from u8 to unsigned
int. RISC architecture deals better with word sized variable than u8.
(Peter Zijlstra)
Rename callback names, *_txn -> *_group_trans for better readability.
Add a few comments to describe the callbacks. (Frederic Weisbecker)
v1.
remove __weak function hw_perf_group_sched_in() based on Peter's idea.
Thanks,
Lin Ming
reply other threads:[~2010-04-23 5:55 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1272002142.5707.59.camel@minggr.sh.intel.com \
--to=ming.m.lin@intel.com \
--cc=Gary.Mohr@bull.com \
--cc=arjan@linux.intel.com \
--cc=cjashfor@linux.vnet.ibm.com \
--cc=davem@davemloft.net \
--cc=eranian@gmail.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=yanmin_zhang@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®