Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab77df67 authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf annotate browser: Make browser_disasm_line->percent an array



Make percent field of struct browser_disasm_line an array and move it to
the last.  This is a preparation of event group view feature.

Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1362462812-30885-10-git-send-email-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 1491c22a
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -14,10 +14,10 @@

struct browser_disasm_line {
	struct rb_node	rb_node;
	double		percent;
	u32		idx;
	int		idx_asm;
	int		jump_sources;
	double		percent[1];
};

static struct annotate_browser_opt {
@@ -97,9 +97,9 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
	int width = browser->width, printed;
	char bf[256];

	if (dl->offset != -1 && bdl->percent != 0.0) {
		ui_browser__set_percent_color(browser, bdl->percent, current_entry);
		slsmg_printf("%6.2f ", bdl->percent);
	if (dl->offset != -1 && bdl->percent[0] != 0.0) {
		ui_browser__set_percent_color(browser, bdl->percent[0], current_entry);
		slsmg_printf("%6.2f ", bdl->percent[0]);
	} else {
		ui_browser__set_percent_color(browser, 0, current_entry);
		slsmg_write_nstring(" ", 7);
@@ -283,7 +283,7 @@ static void disasm_rb_tree__insert(struct rb_root *root, struct browser_disasm_l
	while (*p != NULL) {
		parent = *p;
		l = rb_entry(parent, struct browser_disasm_line, rb_node);
		if (bdl->percent < l->percent)
		if (bdl->percent[0] < l->percent[0])
			p = &(*p)->rb_left;
		else
			p = &(*p)->rb_right;
@@ -345,8 +345,8 @@ static void annotate_browser__calc_percent(struct annotate_browser *browser,

	list_for_each_entry(pos, &notes->src->source, node) {
		struct browser_disasm_line *bpos = disasm_line__browser(pos);
		bpos->percent = disasm_line__calc_percent(pos, sym, evsel->idx);
		if (bpos->percent < 0.01) {
		bpos->percent[0] = disasm_line__calc_percent(pos, sym, evsel->idx);
		if (bpos->percent[0] < 0.01) {
			RB_CLEAR_NODE(&bpos->rb_node);
			continue;
		}