Re: [PATCH 2/2] powercap/rapl: add support for denverton

From: Thomas Gleixner
Date: Wed Jun 01 2016 - 02:59:26 EST


On Tue, 31 May 2016, Dave Hansen wrote:
> On 05/31/2016 01:41 PM, Jacob Pan wrote:
> > --- a/drivers/powercap/intel_rapl.c
> > +++ b/drivers/powercap/intel_rapl.c
> > @@ -1137,6 +1137,7 @@ static const struct x86_cpu_id rapl_ids[] __initconst = {
> > RAPL_CPU(0x57, rapl_defaults_hsw_server),/* Knights Landing */
> > RAPL_CPU(0x8E, rapl_defaults_core),/* Kabylake */
> > RAPL_CPU(0x9E, rapl_defaults_core),/* Kabylake */
> > + RAPL_CPU(0x5F, rapl_defaults_core),/* Denverton micro server */
> > {}
> > };
>
> Not to derail this individual patch... but do we really want to continue
> open-coding CPU model/family combos all over arch/x86?
>
> For instance, arch/x86/events/intel/core.c has:
>
> > case 142: /* 14nm Kabylake Mobile */
> > case 158: /* 14nm Kabylake Desktop */
> > case 78: /* 14nm Skylake Mobile */
> > case 94: /* 14nm Skylake Desktop */
> > case 85: /* 14nm Skylake Server */
>
> Which duplicates the two Kabylake family numbers from the RAPL_CPU()
> context above (just in decimal instead of hex).
>
> Should we just start sticking these things in a header like:
>
> #define X86_INTEL_FAMILY_KABYLAKE1 0x8E
> #define X86_INTEL_FAMILY_KABYLAKE2 0x9E
> #define X86_INTEL_FAMILY_DENVERTON 0x5F
>
> So we have this:
>
> RAPL_CPU(X86_INTEL_FAMILY_DENVERTON, rapl_defaults_core),
>
> instead of having to explain our magic number in a comment.

Yes please.