• Namhyung Kim's avatar
    perf report: Don't bother locking when adding hist entries · f3dd1981
    Namhyung Kim authored
    The 'perf report'command is single-threaded, so no need to grab a lock.
    
    Although the fast path of pthread_mutex_[un]lock() is very fast, there's
    a ~3% gain by eliminating it when we have huge sample data.
    
      $ perf record -a -F 100000 -o perf.data.bench -- perf bench sched all
      $ perf record -e cycles:upp -o perf.data.before -- \
      > perf report -i perf.data.bench --stdio > /dev/null
      ... apply this patch ...
      $ perf record -e cycles:upp -o perf.data.after -- \
      > perf report -i perf.data.bench --stdio > /dev/null
      $ perf diff perf.data.{before,after} | grep pthread
                 +0.02%  libpthread-2.15.so  [.] _pthread_cleanup_push_defer
                 +0.02%  libpthread-2.15.so  [.] _pthread_cleanup_pop_restore
         0.05%   -0.05%  perf                [.] pthread_mutex_unlock@plt
         0.05%   -0.05%  perf                [.] pthread_mutex_lock@plt
         1.01%   -1.01%  libpthread-2.15.so  [.] pthread_mutex_lock
         1.68%   -1.68%  libpthread-2.15.so  [.] __pthread_mutex_unlock_usercnt
         0.05%   -0.05%  libpthread-2.15.so  [.] pthread_mutex_unlock
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/r/1368497347-9628-6-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    f3dd1981
builtin-report.c 26 KB