2011/3/22 陳韋任 <che...@iis.sinica.edu.tw>: > Hi, > >> I doubt this is the problem. > > Yeah, I have tried -1 through 2. But none of them works. :/ > >> You need to make sure you have a kernel that supports PEBS. >> To do that, you can check the syslog. dmesg | fgrep PEBS should >> do it. > > $ dmesg | grep "Performance Events" > Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver. > >> libbpfm4 does maintain this information. It won't let you enable >> precise sampling (precise=) if the event does not support PEBS. > > `showevtinfo` list events with field Flags, some events'Flags are > "[precise]". Does this mean those events support PBES? For example, > > #----------------------------- > IDX : 23068780 > PMU name : core (Intel Core) > Name : X87_OPS_RETIRED > Equiv : None > Flags : [precise] > Desc : FXCH instructions retired > Code : 0xc1 > Umask-00 : 0x01 : PMU : [FXCH] : None : FXCH instructions retired > Umask-01 : 0xfe : PMU : [ANY] : [default] [precise] : Retired floating-point > computational operations (Precise Event) > Modif-00 : 0x00 : PMU : [k] : monitor at priv level 0 (boolean) > Modif-01 : 0x01 : PMU : [u] : monitor at priv level 1, 2, 3 (boolean) > Modif-02 : 0x02 : PMU : [e] : edge level (boolean) > Modif-03 : 0x03 : PMU : [i] : invert (boolean) > Modif-04 : 0x04 : PMU : [c] : counter-mask in range [0-255] (integer) > > $ evt2raw -v X87_OPS_RETIRED:FXCH > r5301c1 core::X87_OPS_RETIRED:FXCH:e=0:i=0:c=0:u=1:k=1:precise=0 > $ evt2raw -v X87_OPS_RETIRED:FXCH:precise=1 > r5301c1 core::X87_OPS_RETIRED:FXCH:e=0:i=0:c=0:u=1:k=1:precise=1 > > $ ./perf_examples/evt2raw -v X87_OPS_RETIRED > r53fec1 core::X87_OPS_RETIRED:ANY:e=0:i=0:c=0:u=1:k=1:precise=0 > $ ./perf_examples/evt2raw -v X87_OPS_RETIRED:precise=1 > r53fec1 core::X87_OPS_RETIRED:ANY:e=0:i=0:c=0:u=1:k=1:precise=1 > > Here are some questions, > > 1. From the output of `showevtinfo`, one might think X87_OPS_RETIRED:FXCH > does not allow PBES compared with X87_OPS_RETIRED:ANY. But `evt2raw` > does not reject this kind input. Is this a bug? Or I just > misunderstood what `showevtinfo` output means? > evt2raw does not take into account the precise attribute. That's because it does not impact attr->config but rather attr->precise_ip.
> 2. Assume X87_OPS_RETIRED:ANY allows "precise=0" or "precise=1". But the > raw event code are the same (r53fec1). Is this right? If so, how does > `perf` choose to use PBES or not? > precise=0 -> do not use PEBS precise=1 -> use PEBS but do not try to correct IP+1 skid precise=2 -> use PEBS + LBR to correct IP+1 skid Again PEBS does not impact event code. Use task_smpl to check if this event actually work as PEBS. If so it should capture samples marked with '(exact)' when precise=2. > Thanks! > > Regards, > chenwj > > -- > Wei-Ren Chen (陳韋任) > Parallel Processing Lab, Institute of Information Science, > Academia Sinica, Taiwan (R.O.C.) > Tel:886-2-2788-3799 #1667 > ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel