Skip to content

Commit

Permalink
perf sort: Drop ip_[lr] arguments from _sort__sym_cmp()
Browse files Browse the repository at this point in the history
Current _sort__sym_cmp() function is used for comparing symbols between
two hist entries on symbol, symbol_from and symbol_to sort keys.  Those
functions pass addresses of symbols but it's meaningless since it gets
over-written inside of the _sort__sym_cmp function to a start address of
the symbol.  So just get rid of them.

This might cause a difference than prior output for branch stacks since
it seems not using start address of the symbol but branch address.
However AFAICS it'd be same as it gets overwritten anyway.

Also remove redundant part of code in sort__sym_cmp().

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1360130237-9963-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Namhyung Kim authored and Arnaldo Carvalho de Melo committed Feb 6, 2013
1 parent 2209001 commit 51f27d1
Showing 1 changed file with 6 additions and 17 deletions.
23 changes: 6 additions & 17 deletions tools/perf/util/sort.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,10 @@ struct sort_entry sort_dso = {

/* --sort symbol */

static int64_t _sort__sym_cmp(struct symbol *sym_l, struct symbol *sym_r,
u64 ip_l, u64 ip_r)
static int64_t _sort__sym_cmp(struct symbol *sym_l, struct symbol *sym_r)
{
u64 ip_l, ip_r;

if (!sym_l || !sym_r)
return cmp_null(sym_l, sym_r);

Expand All @@ -178,21 +179,10 @@ static int64_t _sort__sym_cmp(struct symbol *sym_l, struct symbol *sym_r,
static int64_t
sort__sym_cmp(struct hist_entry *left, struct hist_entry *right)
{
u64 ip_l, ip_r;

if (!left->ms.sym && !right->ms.sym)
return right->level - left->level;

if (!left->ms.sym || !right->ms.sym)
return cmp_null(left->ms.sym, right->ms.sym);

if (left->ms.sym == right->ms.sym)
return 0;

ip_l = left->ms.sym->start;
ip_r = right->ms.sym->start;

return _sort__sym_cmp(left->ms.sym, right->ms.sym, ip_l, ip_r);
return _sort__sym_cmp(left->ms.sym, right->ms.sym);
}

static int _hist_entry__sym_snprintf(struct map *map, struct symbol *sym,
Expand Down Expand Up @@ -383,8 +373,7 @@ sort__sym_from_cmp(struct hist_entry *left, struct hist_entry *right)
if (!from_l->sym && !from_r->sym)
return right->level - left->level;

return _sort__sym_cmp(from_l->sym, from_r->sym, from_l->addr,
from_r->addr);
return _sort__sym_cmp(from_l->sym, from_r->sym);
}

static int64_t
Expand All @@ -396,7 +385,7 @@ sort__sym_to_cmp(struct hist_entry *left, struct hist_entry *right)
if (!to_l->sym && !to_r->sym)
return right->level - left->level;

return _sort__sym_cmp(to_l->sym, to_r->sym, to_l->addr, to_r->addr);
return _sort__sym_cmp(to_l->sym, to_r->sym);
}

static int hist_entry__sym_from_snprintf(struct hist_entry *self, char *bf,
Expand Down

0 comments on commit 51f27d1

Please sign in to comment.