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/