Messages in this thread |  | | Date | Sat, 14 May 2011 12:57:00 -0600 | | From | David Ahern <> | | Subject | Re: perf-stat per thread results |
| |
On 05/14/11 12:52, Wim Heirman wrote: > 2011/5/14 David Ahern <dsahern@gmail.com>: >> On 05/14/11 06:49, Wim Heirman wrote: >>>> Hmm.... my mileage varies using latest kernel >>>> (446cc6345d3de6571bdd0840f48aca441488a28d) >>>> >>>> $ /tmp/build-perf/perf record --stat -fo /tmp/perf.data -p $(pidof rsyslogd) >>>> ^C[ perf record: Woken up 1 times to write data ] >>>> [ perf record: Captured and wrote 0.007 MB /tmp/perf.data (~308 samples) ] >>>> >>>> $ /tmp/build-perf/perf report -T -i /tmp/perf.data >>>> # Events: 6 cycles >>>> # >>>> # Overhead Command Shared Object Symbol >>>> # ........ ........ ................. .......................... >>>> # >>>> 97.61% rsyslogd libc-2.13.so [.] __libc_disable_asynccancel >>>> 2.39% rsyslogd [kernel.kallsyms] [k] native_write_msr_safe >>>> >>>> >>>> # >>>> # (For a higher level overview, try: perf report --sort comm,dso) >>>> # >>>> # PID TID >>>> >>>> >>>> ie., I do not get the counter values. Specifying the counter with -e >>>> (e.g., -e branch-misses) does not help -- still no counter output. >>> >>> Is rsyslogd multithreaded? (Or at least, do the non-main threads >>> execute any work during your perf-record measurement) If not, then >>> what you see is consistent with what I'm getting, i.e. everything but >>> the main thread is reported. >> >> It is multithreaded, but my point is that I do not get counter output at >> the end -- the PID/TID table is empty. I do not get counters for single >> threaded processes nor for commands run by perf record -- e.g., >> /tmp/build-perf/perf record --stat -e instructions -fo /tmp/perf.data -- >> sleep 1 > > My guess was that none of the threads got scheduled while you did your > perf-record run (rsyslogd usually isn't exactly very CPU intensive). > And the main thread isn't ever reported, at least that's the bug I'm > seeing. Can you try with a compute-intensive, multi-threaded program? > > Wim.
The reports show data was collected. I have done a number of simple examples -- all of which execute at least 1 instruction, but the counters are not displayed (which they should be per the commit changelog commit).
David
|  |