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