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

Yes, this is an 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.

Yes, the problem is definitely that pmc0 is not available and the PAPI code is trying to blindly use it.

What is the magic operation to turn off the nmi watchdog?

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

Reply via email to