public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] perf tools: Fix scalability problem on callchain merging
@ 2013-09-10  8:24 Namhyung Kim
  2013-09-10  8:24 ` [PATCH 1/3] perf callchain: Convert children list to rbtree Namhyung Kim
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Namhyung Kim @ 2013-09-10  8:24 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Peter Zijlstra, Paul Mackerras, Ingo Molnar, Namhyung Kim, LKML,
	Linus Torvalds, Frederic Weisbecker, Jiri Olsa

Hello,

Linus reported that perf report was stuck in after "processing time
ordered events".  It turned out that merging/collapsing the callchain
takes most of time to look up a matching callchain.  Since it did a
linear search for the lookup, it took more than 95% of time during the
processing huge file that contains callchains.

This patchset tries to fix the problem by

 1. converting children list to a rbtree
 2. add UI progress window to inform user

With this patch, processing time of 400MB perf.data file went down
from 380s to 20s.

Thanks,
Namhyung


Namhyung Kim (3):
  perf callchain: Convert children list to rbtree
  perf ui/progress: Add new helper functions for progress bar
  perf tools: Show progress on histogram collapsing

 tools/perf/builtin-annotate.c |   2 +-
 tools/perf/builtin-diff.c     |   2 +-
 tools/perf/builtin-report.c   |  10 ++-
 tools/perf/builtin-top.c      |   4 +-
 tools/perf/tests/hists_link.c |   2 +-
 tools/perf/ui/progress.c      |  18 +++++
 tools/perf/ui/progress.h      |  10 +++
 tools/perf/util/callchain.c   | 151 ++++++++++++++++++++++++++++++++----------
 tools/perf/util/callchain.h   |   5 +-
 tools/perf/util/hist.c        |   5 +-
 tools/perf/util/hist.h        |   3 +-
 tools/perf/util/session.c     |  22 +++---
 12 files changed, 173 insertions(+), 61 deletions(-)

-- 
1.7.11.7


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-09-23  9:37 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-10  8:24 [PATCH 0/3] perf tools: Fix scalability problem on callchain merging Namhyung Kim
2013-09-10  8:24 ` [PATCH 1/3] perf callchain: Convert children list to rbtree Namhyung Kim
2013-09-10  9:02   ` Namhyung Kim
2013-09-10  9:52   ` Jiri Olsa
2013-09-10 10:25     ` Ingo Molnar
2013-09-10 11:34       ` Frederic Weisbecker
2013-09-22 11:15   ` Jiri Olsa
2013-09-23  9:29     ` Namhyung Kim
2013-09-23  9:36       ` Jiri Olsa
2013-09-10  8:24 ` [PATCH 2/3] perf ui/progress: Add new helper functions for progress bar Namhyung Kim
2013-09-10  8:24 ` [PATCH 3/3] perf tools: Show progress on histogram collapsing Namhyung Kim
2013-09-10 11:58 ` [PATCH 0/3] perf tools: Fix scalability problem on callchain merging Frederic Weisbecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox