]> git.hungrycats.org Git - linux/commitdiff
perf hist: Improve srcfile sort key performance (really)
authorNamhyung Kim <namhyung@kernel.org>
Thu, 23 Mar 2023 02:50:05 +0000 (19:50 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 11:58:52 +0000 (13:58 +0200)
[ Upstream commit 6094c7744bb0563e833e81d8df8513f9a4e7a257 ]

The earlier commit f0cdde28fecc0d7f ("perf hist: Improve srcfile sort
key performance") updated the srcfile logic but missed to change the
->cmp() callback which is called for every sample.

It should use the same logic like in the srcline to speed up the
processing because it'd return the same information repeatedly for the
same address.  The real processing will be done in
sort__srcfile_collapse().

Fixes: f0cdde28fecc0d7f ("perf hist: Improve srcfile sort key performance")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20230323025005.191239-1-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/perf/util/sort.c

index 37662cdec5eefd183bd95c2c277777294a1046bb..2bf3f882769724f65f067d95e447e92128126892 100644 (file)
@@ -603,12 +603,7 @@ static char *hist_entry__get_srcfile(struct hist_entry *e)
 static int64_t
 sort__srcfile_cmp(struct hist_entry *left, struct hist_entry *right)
 {
-       if (!left->srcfile)
-               left->srcfile = hist_entry__get_srcfile(left);
-       if (!right->srcfile)
-               right->srcfile = hist_entry__get_srcfile(right);
-
-       return strcmp(right->srcfile, left->srcfile);
+       return sort__srcline_cmp(left, right);
 }
 
 static int64_t