Messages in this thread Patch in this message | | | From | kan.liang@intel ... | Subject | [PATCH V4 2/3] perf tool:perf diff support for different binaries | Date | Tue, 18 Nov 2014 11:38:19 -0500 |
| |
From: Kan Liang <kan.liang@intel.com>
Currently, the perf diff only works with same binaries. That's because it compares the symbol start address. It doesn't work if the perf.data comes from different binaries. This patch matches the function names.
Signed-off-by: Kan Liang <kan.liang@intel.com> Acked-by: Namhyung Kim <namhyung@kernel.org> --- tools/perf/util/sort.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index 95efaaf..bea2e07 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -1432,6 +1432,15 @@ int sort_dimension__add(const char *tok) sort__has_parent = 1; } else if (sd->entry == &sort_sym) { sort__has_sym = 1; + /* + * perf diff displays the performance difference amongst + * two or more perf.data files. Those files could come + * from different binaries. So we should not compare + * their ips, but the name of symble. + */ + if (sort__mode == SORT_MODE__DIFF) + sd->entry->se_collapse = sort__sym_sort; + } else if (sd->entry == &sort_dso) { sort__has_dso = 1; } -- 1.8.3.2
| |