Stephane Eranian wrote:
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/


Hi Stephane,

Here is the results from the laptop. -Will


PMU model detected by pfmlib: Intel Core Duo/Core Solo
number of implemented PMD registers : 2
implemented PMD registers : [ 0 1 ]
number of available PMD registers : 2
available PMD registers : [ 0 1 ]
number of implemented PMC registers : 2
implemented PMC registers : [ 0 1 ]
number of available PMC registers : 2
available PMC registers : [ 0 1 ]
number of counters : 2
implemented counters : [ 0 1 ]
number of available counters : 2
available counters : [ 0 1 ]
hardware counter width : 32
number of events supported : 18


- Sreekanth

_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to