On 11/03/2015 01:41 PM, Stephane Eranian wrote:
> Will,
> 
> Could you provide the list of events detected by libpfm4?
> You need to run as root: sudo examples/showevtinfo -L
> Clearly the ubo uncore event should not be processed as part of tracepoints.

It looks like garbage data is being included in perf_pe[].  Things up to 
perf_pe[79] look reasonable, but starting at perf_pe[80] The data looks 
corrupted:


(gdb) print perf_pe[79]
$22 = {name = 0x44daa1 "NODE-PREFETCH-MISSES", 
  desc = 0x44dab6 "Node  prefetch misses", 
  equiv = 0x44dad0 "PERF_COUNT_HW_CACHE_NODE:PREFETCH:MISS", id = 6, 
  modmsk = 0, type = 3, numasks = 0, ngrp = 0, 
  umask_ovfl_idx = 18446744073709551615, umasks = {{uname = 0x0, udesc = 0x0, 
      uid = 0, uflags = 0, grpid = 0}, {uname = 0x0, udesc = 0x0, uid = 0, 
      uflags = 0, grpid = 0}, {uname = 0x0, udesc = 0x0, uid = 0, uflags = 0, 
      grpid = 0}, {uname = 0x0, udesc = 0x0, uid = 0, uflags = 0, grpid = 0}, {
      uname = 0x0, udesc = 0x0, uid = 0, uflags = 0, grpid = 0}, {uname = 0x0, 
      udesc = 0x0, uid = 0, uflags = 0, grpid = 0}, {uname = 0x0, udesc = 0x0, 
      uid = 0, uflags = 0, grpid = 0}, {uname = 0x0, udesc = 0x0, uid = 0, 
      uflags = 0, grpid = 0}}}
(gdb) print perf_pe[80]
$23 = {name = 0x76d7c0 <perf_static_events> "\240\313D", desc = 0x0, 
  equiv = 0x0, id = 0, modmsk = 4513560, type = 0, numasks = 4513584, 
  ngrp = 0, umask_ovfl_idx = 0, umasks = {{
      uname = 0x9000000033 <error: Cannot access memory at address 
0x9000000033>, udesc = 0x300000001 <error: Cannot access memory at address 
0x300000001>, 
      uid = 0, uflags = 0, grpid = 9}, {
      uname = 0x3 <error: Cannot access memory at address 0x3>, udesc = 0x0, 
      uid = 0, uflags = 0, grpid = 0}, {uname = 0x0, 
      udesc = 0x41ff74 <pfm_perf_detect> "UH\211\345H\203\354\020H\211", 
<incomplete sequence \370\276>, uid = 4325300, uflags = 4328324, grpid = 0}, {
      uname = 0x41fff4 <pfm_perf_get_event_first> "UH\211\345H\211", 
<incomplete sequence \370\270>, 
      udesc = 0x420003 <pfm_perf_get_event_next> 
"UH\211\345H\211}\370\211u\364\203", <incomplete sequence \364>, uid = 4328090, 
uflags = 4330323, grpid = 0}, 
    {
      uname = 0x4209be <pfm_perf_event_is_valid> 
"UH\211\345H\211}\370\211u\364\203", <incomplete sequence \364>, udesc = 0x0, 
uid = 4327912, uflags = 4327151, 
      grpid = 0}, {
      uname = 0x420833 <pfm_perf_get_perf_encoding> "UH\211\345H\203\354 
H\211}\350H\211u\340H\213\025\366\060\065", 
      udesc = 0x420833 <pfm_perf_get_perf_encoding> "UH\211\345H\203\354 
H\211}\350H\211u\340H\213\025\366\060\065", uid = 0, uflags = 4330361, grpid = 
0}, {
      uname = 0x421379 <pfm_perf_perf_validate_pattrs> 
"UH\211\345H\203\354\060H\211}\330H\211u\320H\213E\330H\211E\360H\213E\360\213@4\211E\354\307",
 <incomplete sequence \374>, udesc = 0x0, uid = 0, uflags = 0, grpid = 0}, {
      uname = 0x420d13 <pfm_perf_validate_table> 
"UH\211\345H\203\354\060H\211}\330H\211u\320H\213\005>,5", udesc = 0x0, uid = 
0, uflags = 0, grpid = 0}}}


NODE-PREFETCH-MISSES looks like the last pmu perf event in the output of 
showevtinfo before listing the tracepoints.  Is the code that is suppose to 
store the tracepoint information in perfmlib_perf_event_pmu.c doing things 
properly?

-Will

------------------------------------------------------------------------------
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to