All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: automatically select OMAP3_PMU if we try to use perf on OMAP3
@ 2011-06-28 13:37 Bryan Wu
  2011-06-28 13:57 ` Will Deacon
  0 siblings, 1 reply; 5+ messages in thread
From: Bryan Wu @ 2011-06-28 13:37 UTC (permalink / raw)
  To: linux-arm-kernel

For our Ubuntu kernel on OMAP4 machine, we need to enable OMAP3 as well as
OMAP4. OMAP3_EMU has to be enabled manully to make CPU_HAS_PMU=y, which is
required by perf.

So this patch will select the OMAP3_EMU if ARCH_OMAP3 is enabled.

Cc: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
 arch/arm/Kconfig |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 2fd0911..53d0eba 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1084,10 +1084,10 @@ config XSCALE_PMU
 	default y
 
 config CPU_HAS_PMU
-	depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
-		   (!ARCH_OMAP3 || OMAP3_EMU)
+	depends on CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU
 	default y
 	bool
+	select OMAP3_EMU if ARCH_OMAP3
 
 config MULTI_IRQ_HANDLER
 	bool
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH] ARM: automatically select OMAP3_PMU if we try to use perf on OMAP3
  2011-06-28 13:37 [PATCH] ARM: automatically select OMAP3_PMU if we try to use perf on OMAP3 Bryan Wu
@ 2011-06-28 13:57 ` Will Deacon
  2011-06-30 11:35   ` Bryan Wu
  0 siblings, 1 reply; 5+ messages in thread
From: Will Deacon @ 2011-06-28 13:57 UTC (permalink / raw)
  To: linux-arm-kernel


Hi Bryan,

On Tue, Jun 28, 2011 at 02:37:45PM +0100, Bryan Wu wrote:
> For our Ubuntu kernel on OMAP4 machine, we need to enable OMAP3 as well as
> OMAP4. OMAP3_EMU has to be enabled manully to make CPU_HAS_PMU=y, which is
> required by perf.
> 
> So this patch will select the OMAP3_EMU if ARCH_OMAP3 is enabled.
> 
> Cc: Ming Lei <ming.lei@canonical.com>
> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
> ---
>  arch/arm/Kconfig |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 2fd0911..53d0eba 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1084,10 +1084,10 @@ config XSCALE_PMU
>  	default y
>  
>  config CPU_HAS_PMU
> -	depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
> -		   (!ARCH_OMAP3 || OMAP3_EMU)
> +	depends on CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU
>  	default y
>  	bool
> +	select OMAP3_EMU if ARCH_OMAP3
>  
>  config MULTI_IRQ_HANDLER
>  	bool

This issue has been discussed on the list in the past and I still think that
it would be better for your config to select OMAP3_EMU explicitly. If we do
that here unconditionally then we end up also bringing in OC_ETM which isn't
something that sounds like a good idea (may have implications for power
consumption in production hardware?).

Will

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] ARM: automatically select OMAP3_PMU if we try to use perf on OMAP3
  2011-06-28 13:57 ` Will Deacon
@ 2011-06-30 11:35   ` Bryan Wu
  2011-06-30 13:27     ` Arnd Bergmann
  0 siblings, 1 reply; 5+ messages in thread
From: Bryan Wu @ 2011-06-30 11:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jun 28, 2011 at 9:57 PM, Will Deacon <will.deacon@arm.com> wrote:
>
> Hi Bryan,
>
> On Tue, Jun 28, 2011 at 02:37:45PM +0100, Bryan Wu wrote:
>> For our Ubuntu kernel on OMAP4 machine, we need to enable OMAP3 as well as
>> OMAP4. OMAP3_EMU has to be enabled manully to make CPU_HAS_PMU=y, which is
>> required by perf.
>>
>> So this patch will select the OMAP3_EMU if ARCH_OMAP3 is enabled.
>>
>> Cc: Ming Lei <ming.lei@canonical.com>
>> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
>> ---
>> ?arch/arm/Kconfig | ? ?4 ++--
>> ?1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index 2fd0911..53d0eba 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -1084,10 +1084,10 @@ config XSCALE_PMU
>> ? ? ? default y
>>
>> ?config CPU_HAS_PMU
>> - ? ? depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
>> - ? ? ? ? ? ? ? ?(!ARCH_OMAP3 || OMAP3_EMU)
>> + ? ? depends on CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU
>> ? ? ? default y
>> ? ? ? bool
>> + ? ? select OMAP3_EMU if ARCH_OMAP3
>>
>> ?config MULTI_IRQ_HANDLER
>> ? ? ? bool
>
> This issue has been discussed on the list in the past and I still think that
> it would be better for your config to select OMAP3_EMU explicitly. If we do
> that here unconditionally then we end up also bringing in OC_ETM which isn't
> something that sounds like a good idea (may have implications for power
> consumption in production hardware?).
>

Will,

I quite understand your concern. How about this one?
----
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 2fd0911..e53f9e4 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1084,10 +1084,10 @@ config XSCALE_PMU
        default y

 config CPU_HAS_PMU
-       depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
-                  (!ARCH_OMAP3 || OMAP3_EMU)
+       depends on CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU
        default y
        bool
+       select OMAP3_EMU if (PERF_EVENTS && ARCH_OMAP3)

 config MULTI_IRQ_HANDLER
        bool

----

I think it is quite logically clear.
1. if the CPU is V6, V6K, V7, then CPU_HAS_PMU supported
2. if the CPU is OMAP3, we need select OMAP3_EMU built-in
3. if we don't use PERF at all, we don't need built-in OMAP3_EMU

Thanks,
-- 
Bryan Wu <bryan.wu@canonical.com>
Kernel Developer ? ?+86.138-1617-6545 Mobile
Ubuntu Kernel Team
Canonical Ltd. ? ? ?www.canonical.com
Ubuntu - Linux for human beings | www.ubuntu.com

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH] ARM: automatically select OMAP3_PMU if we try to use perf on OMAP3
  2011-06-30 11:35   ` Bryan Wu
@ 2011-06-30 13:27     ` Arnd Bergmann
  2011-06-30 21:51       ` Will Deacon
  0 siblings, 1 reply; 5+ messages in thread
From: Arnd Bergmann @ 2011-06-30 13:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 30 June 2011, Bryan Wu wrote:
> On Tue, Jun 28, 2011 at 9:57 PM, Will Deacon <will.deacon@arm.com> wrote:

> >
> > This issue has been discussed on the list in the past and I still think that
> > it would be better for your config to select OMAP3_EMU explicitly. If we do
> > that here unconditionally then we end up also bringing in OC_ETM which isn't
> > something that sounds like a good idea (may have implications for power
> > consumption in production hardware?).
> >
> I quite understand your concern. How about this one?
> ----
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 2fd0911..e53f9e4 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1084,10 +1084,10 @@ config XSCALE_PMU
>         default y
> 
>  config CPU_HAS_PMU
> -       depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
> -                  (!ARCH_OMAP3 || OMAP3_EMU)
> +       depends on CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU
>         default y
>         bool
> +       select OMAP3_EMU if (PERF_EVENTS && ARCH_OMAP3)
> 
>  config MULTI_IRQ_HANDLER
>         bool
> 

As far as I can tell, it still has the same issue. I think the existing
code is better. If you want to support HW_PERF_EVENTS on OMAP3, just
turn on OMAP3_EMU. Where's the problem with that?

In general, specifying clear dependencies is preferred over 'select'
statements, which are the equivalent to the 'comefrom' statement
in programming languages [1].

	Arnd

[1] http://en.wikipedia.org/wiki/COMEFROM

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] ARM: automatically select OMAP3_PMU if we try to use perf on OMAP3
  2011-06-30 13:27     ` Arnd Bergmann
@ 2011-06-30 21:51       ` Will Deacon
  0 siblings, 0 replies; 5+ messages in thread
From: Will Deacon @ 2011-06-30 21:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 30, 2011 at 02:27:02PM +0100, Arnd Bergmann wrote:
> On Thursday 30 June 2011, Bryan Wu wrote:
> > On Tue, Jun 28, 2011 at 9:57 PM, Will Deacon <will.deacon@arm.com> wrote:
> 
> > >
> > > This issue has been discussed on the list in the past and I still think that
> > > it would be better for your config to select OMAP3_EMU explicitly. If we do
> > > that here unconditionally then we end up also bringing in OC_ETM which isn't
> > > something that sounds like a good idea (may have implications for power
> > > consumption in production hardware?).
> > >
> > I quite understand your concern. How about this one?
> > ----
> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > index 2fd0911..e53f9e4 100644
> > --- a/arch/arm/Kconfig
> > +++ b/arch/arm/Kconfig
> > @@ -1084,10 +1084,10 @@ config XSCALE_PMU
> >         default y
> > 
> >  config CPU_HAS_PMU
> > -       depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
> > -                  (!ARCH_OMAP3 || OMAP3_EMU)
> > +       depends on CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU
> >         default y
> >         bool
> > +       select OMAP3_EMU if (PERF_EVENTS && ARCH_OMAP3)
> > 
> >  config MULTI_IRQ_HANDLER
> >         bool
> > 
> 
> As far as I can tell, it still has the same issue. I think the existing
> code is better. If you want to support HW_PERF_EVENTS on OMAP3, just
> turn on OMAP3_EMU. Where's the problem with that?

Yup. Although the new patch does address my previous technical concerns, I'm
still not happy with it. Just select OMAP3_EMU!

> [1] http://en.wikipedia.org/wiki/COMEFROM

Ha, that really is horrible!

Will

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-06-30 21:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-28 13:37 [PATCH] ARM: automatically select OMAP3_PMU if we try to use perf on OMAP3 Bryan Wu
2011-06-28 13:57 ` Will Deacon
2011-06-30 11:35   ` Bryan Wu
2011-06-30 13:27     ` Arnd Bergmann
2011-06-30 21:51       ` Will Deacon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.