diff options
author | Don Zickus <dzickus@redhat.com> | 2014-03-14 10:43:44 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-03-14 18:08:41 -0300 |
commit | 363b785f3805a2632eb09a8b430842461c21a640 (patch) | |
tree | 1d6dcd4a3e7c0309c1c19a16ea53c45cd1de5407 /tools/perf/util/machine.h | |
parent | 09a71b97cce70551356b13b668aa1d7d6da84457 (diff) |
perf tools: Speed up thread map generation
When trying to capture perf data on a system running spejbb2013, perf
hung for about 15 minutes. This is because it took that long to gather
about 10,000 thread maps and process them.
I don't think a user wants to wait that long.
Instead, recognize that thread maps are roughly equivalent to pid maps
and just quickly copy those instead.
To do this, I synthesize 'fork' events, this eventually calls
thread__fork() and copies the maps over.
The overhead goes from 15 minutes down to about a few seconds.
--
V2: based on Jiri's comments, moved malloc up a level
and made sure the memory was freed
Signed-off-by: Don Zickus <dzickus@redhat.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Joe Mario <jmario@redhat.com>
Link: http://lkml.kernel.org/r/1394808224-113774-1-git-send-email-dzickus@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/machine.h')
0 files changed, 0 insertions, 0 deletions