lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130910115841.GC28268@somewhere>
Date:	Tue, 10 Sep 2013 13:58:43 +0200
From:	Frederic Weisbecker <fweisbec@...il.com>
To:	Namhyung Kim <namhyung@...nel.org>
Cc:	Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Paul Mackerras <paulus@...ba.org>,
	Ingo Molnar <mingo@...nel.org>,
	Namhyung Kim <namhyung.kim@....com>,
	LKML <linux-kernel@...r.kernel.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Jiri Olsa <jolsa@...hat.com>
Subject: Re: [PATCH 0/3] perf tools: Fix scalability problem on callchain
 merging

On Tue, Sep 10, 2013 at 05:24:15PM +0900, Namhyung Kim wrote:
> 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.

Even if we get rid of hists collapsing, this may still bring value on
performance. One way to test is to sort by pid or by sym and compare
before and after the patchset. pid/sym shouldn't make use of collapses.

Thanks.

> 
> 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
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ