Hello,everyone!
I installed libpfm4 on my platform. The cpu is Q6600 and the OS is RHEL
with 2.6.34 kernel.
I hit seg faults trying to run perf_examples/self_count.c in libpfm4, and
all Google can find is that kernel support for user-level rdpmc was missing.
To enable the rdpmc instrction, I wrote a program to set the PCE bit of cr4.
Then I recompiled the self_count.c example,it runs normally when I just
monitor one event.
I means that I can only enable one event one time in the variable
*gen_events.
static const char *gen_events[]={
//"CPU_CLK_UNHALTED",
//"INST_RETIRED",
"MEM_LOAD_RETIRED:L2_MISS",
NULL
};
Once I set up two events or more simultaneously, such as CPU_CLK_UNHALTED
and MEM_LOAD_RETIRED:L2_MISS, the self_count can be executed, but the read
result of PMU counter is wrong. The result of CPU_CLK_UNHALTED is always
zero, while the other seems normal.
So my question is that could I set up more events than one when I using rdpmc
instruction.
I want to use rdpmc instruction because I want to reduce the overhead of
read PMU as much as possible. Would u like to give me another advice?
Thanks in advance!
Jason
2011/11/18
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel