From: Kan Liang <kan.li...@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.li...@intel.com> --- 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 9402885..ee235ab 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -1430,6 +1430,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. + * The name of symble should be the key we do compare. + */ + 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/