Subject: Re: [PATCH v2 10/11] powerpc/perf: add kconfig option for hypervisor provided counters

From: Michael Ellerman <[email-masked]>
Date: Mon, 17 Feb 2014 18:11:48 +1100

On Fri, 2014-02-14 at 16:25 -0800, Cody P Schafer wrote:
> On Fri, Feb 14, 2014 at 04:32:13PM -0600, Scott Wood wrote:
> > On Fri, 2014-02-14 at 14:02 -0800, Cody P Schafer wrote:
> > > diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
> > > index 434fda3..dcc67cd 100644
> > > --- a/arch/powerpc/platforms/Kconfig.cputype
> > > +++ b/arch/powerpc/platforms/Kconfig.cputype
> > > @@ -364,6 +364,12 @@ config PPC_PERF_CTRS
> > >         help
> > >           This enables the powerpc-specific perf_event back-end.
> > >  
> > > +config HV_PERF_CTRS
> > > +       def_bool y
> > > +       depends on PERF_EVENTS && PPC_HAVE_PMU_SUPPORT
> > > +       help
> > > +         Enable access to perf counters provided by the hypervisor
> > 
> > Please don't add default-y stuff that is platform-specific, and
> > definitely point out that platform dependency in the config description
> > -- I have to look elsewhere in the patchset to determine that this is
> > for "Power Hypervisor".  PPC_HAVE_PMU_SUPPORT is enabled by all 6xx
> > builds, even for hardware like e300 that doesn't have PMU at all (it has
> > the FSL embedded perfmon instead), much less this hv interface.
> > 
> > And yes, PPC_PERF_CTRS has the same problem and should be fixed. :-)
> 
> Yep, I just based this one on what PPC_PERF_CTRS was doing.
> 
> How about the following:
> 
> +config HV_PERF_CTRS
> +       bool "Perf Hypervisor supplied counters"

"Support for Hypervisor supplied PMU events (24x7 & GPCI)" ?

> +       default y
> +       depends on PERF_EVENTS && PPC_HAVE_PMU_SUPPORT && PPC_PSERIES

I think you just want:

	depends on PERF_EVENTS && PPC_PSERIES

Because you're adding two completely new PMUs, they're not a "struct power_pmu"
backend for the existing powerpc PMU implementation.

cheers