Messages in this thread | | | Date | Sat, 14 May 2011 11:48:24 -0600 | From | David Ahern <> | Subject | Re: perf-stat per thread results |
| |
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
David
> > Regards, > Wim
| |