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

Reply via email to