* [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS
@ 2010-09-13 6:07 Matt Fleming
2010-09-13 8:39 ` Will Deacon
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Matt Fleming @ 2010-09-13 6:07 UTC (permalink / raw)
To: linux-sh
Currently, oprofile support is only functional if CONFIG_HW_PERF_EVENTS
is set. If this symbol is not set, oprofile initialisation will fail at
runtime. Instead of allowing the oprofile code to build but fail at
runtime it seems less confusing to not allow the code to be built unless
hardware performance counter support is available.
Signed-off-by: Matt Fleming <matt@console-pimps.org>
---
arch/arm/Kconfig | 2 +-
arch/arm/oprofile/common.c | 9 ---------
2 files changed, 1 insertions(+), 10 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a7ed21f..d29075c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -14,7 +14,7 @@ config ARM
select RTC_LIB
select SYS_SUPPORTS_APM_EMULATION
select GENERIC_ATOMIC64 if (!CPU_32v6K)
- select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
+ select HAVE_OPROFILE if (HW_PERF_EVENTS)
select HAVE_ARCH_KGDB
select HAVE_KPROBES if (!XIP_KERNEL)
select HAVE_KRETPROBES if (HAVE_KPROBES)
diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
index 9a3ed26..444ea86 100644
--- a/arch/arm/oprofile/common.c
+++ b/arch/arm/oprofile/common.c
@@ -24,7 +24,6 @@
#include <asm/perf_event.h>
#include <asm/ptrace.h>
-#ifdef CONFIG_HW_PERF_EVENTS
static char *op_name_from_perf_id(enum arm_perf_pmu_ids id)
{
switch (id) {
@@ -119,11 +118,3 @@ void __exit oprofile_arch_exit(void)
{
oprofile_perf_exit();
}
-#else
-int __init oprofile_arch_init(struct oprofile_operations *ops)
-{
- pr_info("oprofile: hardware counters not available\n");
- return -ENODEV;
-}
-void __exit oprofile_arch_exit(void) {}
-#endif /* CONFIG_HW_PERF_EVENTS */
--
1.7.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS
2010-09-13 6:07 [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS Matt Fleming
@ 2010-09-13 8:39 ` Will Deacon
2010-09-13 9:22 ` Sergei Shtylyov
2010-09-16 13:34 ` Robert Richter
2 siblings, 0 replies; 4+ messages in thread
From: Will Deacon @ 2010-09-13 8:39 UTC (permalink / raw)
To: linux-sh
Hi Matt,
On Mon, 2010-09-13 at 07:07 +0100, Matt Fleming wrote:
> Currently, oprofile support is only functional if CONFIG_HW_PERF_EVENTS
> is set. If this symbol is not set, oprofile initialisation will fail at
> runtime. Instead of allowing the oprofile code to build but fail at
> runtime it seems less confusing to not allow the code to be built unless
> hardware performance counter support is available.
>
> Signed-off-by: Matt Fleming <matt@console-pimps.org>
> ---
> arch/arm/Kconfig | 2 +-
> arch/arm/oprofile/common.c | 9 ---------
> 2 files changed, 1 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index a7ed21f..d29075c 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -14,7 +14,7 @@ config ARM
> select RTC_LIB
> select SYS_SUPPORTS_APM_EMULATION
> select GENERIC_ATOMIC64 if (!CPU_32v6K)
> - select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
> + select HAVE_OPROFILE if (HW_PERF_EVENTS)
> select HAVE_ARCH_KGDB
> select HAVE_KPROBES if (!XIP_KERNEL)
> select HAVE_KRETPROBES if (HAVE_KPROBES)
> diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
> index 9a3ed26..444ea86 100644
> --- a/arch/arm/oprofile/common.c
> +++ b/arch/arm/oprofile/common.c
> @@ -24,7 +24,6 @@
> #include <asm/perf_event.h>
> #include <asm/ptrace.h>
>
> -#ifdef CONFIG_HW_PERF_EVENTS
> static char *op_name_from_perf_id(enum arm_perf_pmu_ids id)
> {
> switch (id) {
> @@ -119,11 +118,3 @@ void __exit oprofile_arch_exit(void)
> {
> oprofile_perf_exit();
> }
> -#else
> -int __init oprofile_arch_init(struct oprofile_operations *ops)
> -{
> - pr_info("oprofile: hardware counters not available\n");
> - return -ENODEV;
> -}
> -void __exit oprofile_arch_exit(void) {}
> -#endif /* CONFIG_HW_PERF_EVENTS */
> --
> 1.7.1
When oprofile_arch_init fails (-ENODEV), oprofile will fall back to
timer mode. With this patch, how can you make use of a timer fallback?
I'll try and get around to testing the rest of this series today.
Cheers,
Will
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS
2010-09-13 6:07 [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS Matt Fleming
2010-09-13 8:39 ` Will Deacon
@ 2010-09-13 9:22 ` Sergei Shtylyov
2010-09-16 13:34 ` Robert Richter
2 siblings, 0 replies; 4+ messages in thread
From: Sergei Shtylyov @ 2010-09-13 9:22 UTC (permalink / raw)
To: linux-sh
Hello.
On 13-09-2010 10:07, Matt Fleming wrote:
> Currently, oprofile support is only functional if CONFIG_HW_PERF_EVENTS
> is set. If this symbol is not set, oprofile initialisation will fail at
> runtime. Instead of allowing the oprofile code to build but fail at
> runtime it seems less confusing to not allow the code to be built unless
> hardware performance counter support is available.
> Signed-off-by: Matt Fleming<matt@console-pimps.org>
> ---
> arch/arm/Kconfig | 2 +-
> arch/arm/oprofile/common.c | 9 ---------
> 2 files changed, 1 insertions(+), 10 deletions(-)
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index a7ed21f..d29075c 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -14,7 +14,7 @@ config ARM
> select RTC_LIB
> select SYS_SUPPORTS_APM_EMULATION
> select GENERIC_ATOMIC64 if (!CPU_32v6K)
> - select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
> + select HAVE_OPROFILE if (HW_PERF_EVENTS)
Could remove useless parens while at it...
WBR, Sergei
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS
2010-09-13 6:07 [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS Matt Fleming
2010-09-13 8:39 ` Will Deacon
2010-09-13 9:22 ` Sergei Shtylyov
@ 2010-09-16 13:34 ` Robert Richter
2 siblings, 0 replies; 4+ messages in thread
From: Robert Richter @ 2010-09-16 13:34 UTC (permalink / raw)
To: linux-sh
On 13.09.10 04:39:52, Will Deacon wrote:
> Hi Matt,
>
> On Mon, 2010-09-13 at 07:07 +0100, Matt Fleming wrote:
> > Currently, oprofile support is only functional if CONFIG_HW_PERF_EVENTS
> > is set. If this symbol is not set, oprofile initialisation will fail at
> > runtime. Instead of allowing the oprofile code to build but fail at
> > runtime it seems less confusing to not allow the code to be built unless
> > hardware performance counter support is available.
> >
> > Signed-off-by: Matt Fleming <matt@console-pimps.org>
> > ---
> > arch/arm/Kconfig | 2 +-
> > arch/arm/oprofile/common.c | 9 ---------
> > 2 files changed, 1 insertions(+), 10 deletions(-)
> When oprofile_arch_init fails (-ENODEV), oprofile will fall back to
> timer mode. With this patch, how can you make use of a timer fallback?
True, if you want an error at compile time, maybe we use the #error
pragma instead. But falling back to timer mode is fine to me too.
Will leave that decision to the arm folks.
-Robert
>
> I'll try and get around to testing the rest of this series today.
>
> Cheers,
>
> Will
>
>
>
>
--
Advanced Micro Devices, Inc.
Operating System Research Center
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-09-16 13:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-13 6:07 [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS Matt Fleming
2010-09-13 8:39 ` Will Deacon
2010-09-13 9:22 ` Sergei Shtylyov
2010-09-16 13:34 ` Robert Richter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox