Commit b15636c6 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo

perf annotate browser: Do not pass nr_events in disasm_rb_tree__insert

We now keep samples_nr in struct annotation_line, so there's no need to
pass nr_events to disasm_rb_tree__insert function.
Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20171011150158.11895-27-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 3ab6db8d
...@@ -356,12 +356,11 @@ static unsigned int annotate_browser__refresh(struct ui_browser *browser) ...@@ -356,12 +356,11 @@ static unsigned int annotate_browser__refresh(struct ui_browser *browser)
return ret; return ret;
} }
static int disasm__cmp(struct annotation_line *a, static int disasm__cmp(struct annotation_line *a, struct annotation_line *b)
struct annotation_line *b, int nr_pcnt)
{ {
int i; int i;
for (i = 0; i < nr_pcnt; i++) { for (i = 0; i < a->samples_nr; i++) {
if (a->samples[i].percent == b->samples[i].percent) if (a->samples[i].percent == b->samples[i].percent)
continue; continue;
return a->samples[i].percent < b->samples[i].percent; return a->samples[i].percent < b->samples[i].percent;
...@@ -369,8 +368,7 @@ static int disasm__cmp(struct annotation_line *a, ...@@ -369,8 +368,7 @@ static int disasm__cmp(struct annotation_line *a,
return 0; return 0;
} }
static void disasm_rb_tree__insert(struct rb_root *root, struct annotation_line *al, static void disasm_rb_tree__insert(struct rb_root *root, struct annotation_line *al)
int nr_events)
{ {
struct rb_node **p = &root->rb_node; struct rb_node **p = &root->rb_node;
struct rb_node *parent = NULL; struct rb_node *parent = NULL;
...@@ -380,7 +378,7 @@ static void disasm_rb_tree__insert(struct rb_root *root, struct annotation_line ...@@ -380,7 +378,7 @@ static void disasm_rb_tree__insert(struct rb_root *root, struct annotation_line
parent = *p; parent = *p;
l = rb_entry(parent, struct annotation_line, rb_node); l = rb_entry(parent, struct annotation_line, rb_node);
if (disasm__cmp(al, l, nr_events)) if (disasm__cmp(al, l))
p = &(*p)->rb_left; p = &(*p)->rb_left;
else else
p = &(*p)->rb_right; p = &(*p)->rb_right;
...@@ -452,7 +450,7 @@ static void annotate_browser__calc_percent(struct annotate_browser *browser, ...@@ -452,7 +450,7 @@ static void annotate_browser__calc_percent(struct annotate_browser *browser,
continue; continue;
} }
for (i = 0; i < browser->nr_events; i++) { for (i = 0; i < pos->al.samples_nr; i++) {
struct annotation_data *sample = &pos->al.samples[i]; struct annotation_data *sample = &pos->al.samples[i];
if (max_percent < sample->percent) if (max_percent < sample->percent)
...@@ -463,8 +461,7 @@ static void annotate_browser__calc_percent(struct annotate_browser *browser, ...@@ -463,8 +461,7 @@ static void annotate_browser__calc_percent(struct annotate_browser *browser,
RB_CLEAR_NODE(&pos->al.rb_node); RB_CLEAR_NODE(&pos->al.rb_node);
continue; continue;
} }
disasm_rb_tree__insert(&browser->entries, &pos->al, disasm_rb_tree__insert(&browser->entries, &pos->al);
browser->nr_events);
} }
pthread_mutex_unlock(&notes->lock); pthread_mutex_unlock(&notes->lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment