Will,
Could you run the 'whichpmu' example on this laptop? I don't see how
libpfm could detect Intel Core on a Core Duo processors (6/14).
On Wed, Oct 24, 2007 at 02:53:17PM -0400, William Cohen wrote:
> Stephane Eranian wrote:
> >Will,
> >
> >On Mon, Oct 15, 2007 at 02:44:50PM -0400, William Cohen wrote:
> >>Below is the part of dmesg related to perfmon processors identification:
> >>
> >>perfmon: unsupported CPU model 14
> >>perfmon: Intel P6 processor Family PMU detection failed
> >>perfmon: unsupported family=6
> >
> >Normal.
> >
> >>perfmon: Intel P4 PMU detection failed
> >
> >Normal
> >
> >>perfmon: nmi_watchdog=-1 nmi_active=0 force_nmi=0
> >>perfmon: PEBS supported, enabled
> >>perfmon: Intel Core PMU detected, 4 PMCs, 5 PMDs, 5 counters (31 bits)
> >>perfmon: Intel Core PMU installed
> >
> >Not normal.
> >
> >>perfmon: detected architecural perfmon v1
> >>perfmon: num_gen=2 width=40 num_fixed=0 width=0
> >>perfmon: register Intel architectural PMU error -16
> >
> >That's normal because there is already a description registered.
> >
> >>Looks like it finds the hardware, but later fails to register it (line
> >>with "error -16", -EBUSY. So something like the following to generate
> >>some more detail information information from the PFM_INFO's would be
> >>useful:
> >>
> >In perfmon_intel_core.c, look at the :
> >
> >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
> >
>
>
> Hi Stephane,
>
> I don't have access to the actual family 6 model 14 machine; it's student's
> machine. Doing some additional experiments it appears that the module is
> being installed and pfmon is able to list events:
>
> /// dmesg | grep perfmon output: (this is after doing echo 8 > ...../printk)
> perfmon: version 2.7, compiled: Oct 17 2007, 23:18:17
> perfmon: added sampling format default
> perfmon: detected architecural perfmon v1
> perfmon: num_gen=2 width=40 num_fixed=0 width=0
> perfmon: Intel architectural PMU detected, 2 PMCs, 2 PMDs, 2 counters (31
> bits)
> perfmon: Intel architectural PMU installed
>
> /// lsmod | grep perfmon output:
> perfmon_intel_arch 25096 0
>
> /// pfmon -l output
> UNHALTED_CORE_CYCLES
> UNHALTED_REFERENCE_CYCLES
> INSTRUCTIONS_RETIRED
> LAST_LEVEL_CACHE_REFERENCE
> LAST_LEVEL_CACHE_MISSES
> BRANCH_INSTRUCTIONS_RETIRED
> MISPREDICTED_BRANCH_RETIRED
> LD_BLOCKS
> SD_DRAINS
> MISALIGN_MEM_REF
> SEG_REG_LOADS
> SSE_PREFETCH
> SSE_NT_STORES_RETIRED
> L2_ADS
> DBUS_BUSY
> L2_LINES_IN
> BUS_DRDY_CLOCKS
> BUS_TRANS_RFO
>
> However, when attempting to select events with -e with something on the
> list or just using the default it always fails.
>
> -Will
> _______________________________________________
> perfmon mailing list
> [email protected]
> http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/
--
-Stephane
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/