On Mon, 2007-10-22 at 03:11 -0700, Stephane Eranian wrote:
> Yanmin,
> 
> On Mon, Oct 22, 2007 at 10:55:08AM +0800, Zhang, Yanmin wrote:
> > > static int pfm_core_probe_pmu(void)
> > > {
> > >         unsigned int i;
> > > 
> > >         /*
> > >          * Check for Intel Core processor explicitely
> > >          * Checking for cpu_has_perfmon is not enough as this
> > >          * matches intel Core Duo/Core Solo but none supports
> > >          * PEBS.
> > >          *
> > >          * Intel Core = arch perfmon v2 + PEBS
> > >          */
> > >         if (cpu_data->x86 != 6 || cpu_data->x86_model != 15)
> > > 
> > > If you come in with 6,14, this should fail. But it seems you have things
> > > compiled in, so maybe there is something wrong there
> >
> > I ran into the same issue on my new quad-core machine. Is there any update?
> > 
> > My cpu family is 6 and model is 15.
> > 
> I was able to reproduce the problem by compiling all perfmon modules as 
> builtin.
> 
> I think this comes from the fact that perfmon module initialization occurs 
> BEFORE
> the cpu_data structure is initialized.  I think the fix is to rely on 
> boot_cpu_data
> and not just cpu_data. I am going to verify this.
Before trying perfmon, I enabled oprofile in kernel and oprofile also didn't 
work.

I instrumented kernel and found oprofile did configure IA32_PERFEVTSEL0 and 
NMI, but
cpu didn't produce NMI interrupt.
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to