From: Robert Richter <robert.richter@amd.com>
To: Matt Fleming <matt@console-pimps.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Will Deacon <will.deacon@arm.com>,
Paul Mundt <lethal@linux-sh.org>,
Russell King <linux@arm.linux.org.uk>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@elte.hu>,
Frederic Weisbecker <fweisbec@gmail.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>
Subject: Re: [PATCH V2 3/4] oprofile: Abstract the perf-events backend
Date: Fri, 27 Aug 2010 16:31:21 +0200 [thread overview]
Message-ID: <20100827143121.GN22783@erda.amd.com> (raw)
In-Reply-To: <fe3e173aaa85f4cd73ea4b5abca50976fc40a01f.1282848651.git.matt@console-pimps.org>
On 26.08.10 15:09:18, Matt Fleming wrote:
> Move the perf-events backend from arch/arm/oprofile into
> drivers/oprofile so that the code can be shared between architectures.
>
> This allows each architecture to maintain only a single copy of the
> PMU accessor functions instead of one for both perf and OProfile. It
> also becomes possible for other architectures to delete much of their
> OProfile code in favour of the common code now available in
> drivers/oprofile/oprofile_perf.c.
>
> Signed-off-by: Matt Fleming <matt@console-pimps.org>
> ---
> arch/arm/oprofile/Makefile | 4 +
> arch/arm/oprofile/common.c | 215 +++-----------------------------------
> drivers/oprofile/oprofile_perf.c | 209 ++++++++++++++++++++++++++++++++++++
> include/linux/oprofile.h | 12 ++
> 4 files changed, 242 insertions(+), 198 deletions(-)
> create mode 100644 drivers/oprofile/oprofile_perf.c
>
> diff --git a/arch/arm/oprofile/Makefile b/arch/arm/oprofile/Makefile
> index e666eaf..038d7af 100644
> --- a/arch/arm/oprofile/Makefile
> +++ b/arch/arm/oprofile/Makefile
> @@ -6,4 +6,8 @@ DRIVER_OBJS = $(addprefix ../../../drivers/oprofile/, \
> oprofilefs.o oprofile_stats.o \
> timer_int.o )
>
> +ifeq ($(CONFIG_HW_PERF_EVENTS), y)
> +DRIVER_OBJS += $(addprefix ../../../drivers/oprofile/, oprofile_perf.o)
> +endif
You use CONFIG_HW_PERF_EVENTS while CONFIG_PERF_EVENTS in oprofile.h.
> +
> oprofile-y := $(DRIVER_OBJS) common.o
> diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h
> index 5171639..99e0323 100644
> --- a/include/linux/oprofile.h
> +++ b/include/linux/oprofile.h
> @@ -185,4 +185,16 @@ int oprofile_add_data(struct op_entry *entry, unsigned long val);
> int oprofile_add_data64(struct op_entry *entry, u64 val);
> int oprofile_write_commit(struct op_entry *entry);
>
> +/* Oprofile perf wrapper functions. */
> +
> +#ifdef CONFIG_PERF_EVENTS
> +int oprofile_perf_init(void);
> +void oprofile_perf_exit(void);
> +int oprofile_perf_setup(void);
> +int oprofile_perf_start(void);
> +void oprofile_perf_stop(void);
> +int oprofile_perf_create_files(struct super_block *sb, struct dentry *root);
> +void oprofile_perf_set_num_counters(int num_counters);
> +#endif /* CONFIG_PERF_EVENTS */
We need empty function stubs for all this functions for the
!CONFIG_PERF_EVENTS case returning -ENODEV or so. Otherwise
compliation will fail for it.
For arm this does not happen because of #ifdefs, but for sh.
Again, please first change the code and then move it without
functional changes, one patch each.
Thanks,
-Robert
> +
> #endif /* OPROFILE_H */
> --
> 1.7.1
>
>
--
Advanced Micro Devices, Inc.
Operating System Research Center
next prev parent reply other threads:[~2010-08-27 14:37 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-26 19:09 [PATCH V2 0/4] Generalise ARM perf-events backend for oprofile Matt Fleming
2010-08-26 19:09 ` [PATCH 1/4] oprofile: Handle initialisation failure more gracefully Matt Fleming
2010-08-26 19:09 ` Matt Fleming
2010-08-27 12:43 ` Robert Richter
2010-08-27 15:15 ` Will Deacon
2010-08-27 16:38 ` Robert Richter
2010-08-27 18:06 ` Will Deacon
2010-08-27 19:47 ` Robert Richter
2010-08-27 19:47 ` Robert Richter
2010-08-26 19:09 ` [PATCH 2/4] sh: Accessor functions for the sh_pmu state Matt Fleming
2010-08-27 13:43 ` Robert Richter
2010-08-27 13:43 ` Robert Richter
2010-08-27 19:17 ` Matt Fleming
2010-08-30 12:41 ` Robert Richter
2010-08-26 19:09 ` [PATCH V2 3/4] oprofile: Abstract the perf-events backend Matt Fleming
2010-08-26 19:09 ` Matt Fleming
2010-08-27 10:41 ` Will Deacon
2010-08-27 12:44 ` Matt Fleming
2010-08-27 12:59 ` Robert Richter
2010-08-27 12:59 ` Robert Richter
2010-08-27 14:31 ` Robert Richter [this message]
2010-08-26 19:09 ` [PATCH V2 4/4] sh: Use the perf-events backend for oprofile Matt Fleming
2010-08-26 19:09 ` Matt Fleming
2010-08-27 14:59 ` Robert Richter
2010-08-27 20:19 ` Matt Fleming
2010-08-27 20:19 ` Matt Fleming
2010-08-31 11:28 ` Robert Richter
2010-08-31 12:23 ` Matt Fleming
2010-08-31 12:23 ` Matt Fleming
2010-08-31 13:26 ` Robert Richter
2010-08-31 13:26 ` Robert Richter
2010-08-31 11:05 ` [PATCH V2 0/4] Generalise ARM " Robert Richter
2010-08-31 11:25 ` Matt Fleming
2010-08-31 11:25 ` Matt Fleming
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=20100827143121.GN22783@erda.amd.com \
--to=robert.richter@amd.com \
--cc=acme@redhat.com \
--cc=fweisbec@gmail.com \
--cc=lethal@linux-sh.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=matt@console-pimps.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=will.deacon@arm.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;
as well as URLs for NNTP newsgroup(s).