summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/machine.h
diff options
context:
space:
mode:
authorDon Zickus <dzickus@redhat.com>2014-03-14 10:43:44 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2014-03-14 18:08:41 -0300
commit363b785f3805a2632eb09a8b430842461c21a640 (patch)
tree1d6dcd4a3e7c0309c1c19a16ea53c45cd1de5407 /tools/perf/util/machine.h
parent09a71b97cce70551356b13b668aa1d7d6da84457 (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