Prev: drivers/usb/serial: Eliminate a NULL pointer dereference
Next: virtio: put last seen used index into ring itself
From: Stephane Eranian on 27 May 2010 09:50 Hi, I ran into another problem while running more tests with perf record, perf buildid-list. I do the following: $ perf record foo/noploop 5 $ perf buildid-list 54b1e7cc3cf52e0db255aab44ce7538eb62655b8 [kernel.kallsyms] 875ae61623e89f408b425ca0486a9ec99e3ac73e /home/eranian/perfmon/official/tip/build/tools/perf/foo/noploop I know I have samples in noploop: $ perf report -D .... 0x10a0 [0x20]: PERF_RECORD_SAMPLE(IP, 2): 14721/14721: 0x4006d6 period: 2351576 ... thread: noploop:14721 ...... dso: ./foo/noploop But if I ask with buildid-list (like per-archive is doing) then I get: $ perf buildid-list --with-hits 54b1e7cc3cf52e0db255aab44ce7538eb62655b8 [kernel.kallsyms] 0000000000000000000000000000000000000000 ./foo/noploop The builid is bogus for noploop and it is relative path not full anymore. I instrumented __dsos__fprintf_buildid() and I get: hit=0 name=/home/eranian/perfmon/official/tip/build/tools/perf/foo/noploop hit=1 name=./foo/noploop 0000000000000000000000000000000000000000 ./foo/noploop So it looks like when cmd is relative there are two entries but the one that counts the hits is the one with relative path. But is does not have the buildid, the full path entry does. This is an issue because perf-archive only packages the content of .debug with hits. The problem does not exists when cmd are found from PATH. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |