Re: [tip:perfcounters/core] perf_counter, x86: remove X86_FEATURE_ARCH_PERFMON flag for AMD cpus

Ingo Molnar
2009-05-11T10:03:19Z

* Jaswinder Singh Rajput <jaswinder@kernel.org> wrote:

> On Sun, 2009-05-10 at 08:30 +0200, Ingo Molnar wrote:
> > * Jaswinder Singh Rajput <jaswinder@kernel.org> wrote:
> >
> > > > #define X86_FEATURE_ARCH_PERFMON (3*32+11) /* Intel Architectural PerfMon */
> > > > should be replaced by
> > > > #define X86_FEATURE_ARCH_PERFMON (3*32+11) /* Performace Monitor */
> > > >
> > > > All x86 cpus which support performance monitor should set this feature.
> > > >
> > >
> > > Currently X86_FEATURE_ARCH_PERFMON is enabled for >= Intel Core2
> > >
> > > But Performance monitor is almost supported by all Intel
> > > processors. I am adding few MSRs list for reference to see
> > > complete list please check arch/x86/kernel/cpu/cpu_debug.c
> >
> > I think you are confusing two things:
> >
> > - The 'architectural perfmon' CPU flag, enumerated in CPUID. (this
> > is a relatively new CPUID flag that only Intel CPUs at around
> > Core2 and later will report.)
> >
> > - The concept of 'performance monitoring' - which has been present
> > in various x86 CPUs starting at the original Pentium (P5) 15 years
> > ago or so.
> >
> > The X86_FEATURE_ARCH_PERFMON flag is for the architectural perfmon
> > CPUID feature. If you execute CPUID you'll get that from the CPU -
> > on Core2 and later Intel CPUs. You wont get it on AMD CPUs. You wont
> > get it on earlier Intel CPUs.
> >
> > And since 'Architectural Performance Monitoring' is an Intel only
> > thing, it would not be correct to do as if AMD had the same thing.
> > AMD has something _similar_, but not quite the same.
> >
>
> Thanks for clarification.
>
> There is one more way to check performance monitor support for
> Intel by using IA32_MISC_ENABLE MSR (0x1A0) bit 7 tells whether
> performance monitoring is available or not.
>
> But IA32_MISC_ENABLE MSR (0x1A0) is not available for Pentium and
> P6.
>
> So better I will add new cpufeature for performance monitoring for
> x86:
>
> X86_FEATURE_PERFMON : Performance monitor support

What is the exact wording of IA32_MISC_ENABLE bit 7 in the Intel
documents?

Ingo