Gentlemen,

On Tue, Oct 31, 2006 at 01:59:52PM -0500, William Cohen wrote:
> 
> This is being run on a 2.6.18 kernel with the perfmon patchs. The libpfm is 
> the snapshot from 060926. I don't know if this might be a version issue, 
> but it can't hurt to include those details. I reconfigured with the 
> additional option. I also turned on /sys/kernel/perfmon/debug (the 
> messages.txt file).
> 
> 
> PAPI_DEBUG=SUBSTRATE ./utils/papi_command_line PAPI_TOT_CYC >& 
> /tmp/output.txt
> 
> It looks like the actual write to the pmc is the problem. I should add that 
> when I try to run pfmon after this that the machine locks up. I assumpte 
> that the is an oops. However, I have a GUI console so I can't see the 
> specific panic that is occurring on my laptop.
> 
Which machine is this run on, your AMD64 laptop?

> Oct 31 13:42:08 yugo kernel: perfmon: __pfm_write_pmcs.356: CPU0 [4670]: pmc0 
> is not implemented/unaccessible

Your are trying to write pmc0. If on AMd64 or P6, pmc0 normally exist UNLESS 
you have the NMI watchdog turned
on. Take a look in /sys/kernel/perfmon/pmu_desc, if you do not have a pmc0 
subdir, then that is probably the
issue.

I do not know how PAPI uses libpfm, but if you take a look at the examples, you 
will see that they 
pass a bitmask pfp_unavail_pmcs to pfm_dispatch_events(). This is the list of 
PMC that are not
available. Using this information libpfm, work around the PMC limitations. You 
need to populate
the bitmask, in the example subdir, take a look a detect_pmcs.c. I suspect PAPI 
is nott doing this, thus
libpfm returns an invalid assignment. Tools cannot assume they own the entire 
PMU, they need to query
what's available.

Hope this helps.

-- 
-Stephane
_______________________________________________
perfmon mailing list
perfmon@linux.hpl.hp.com
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to