Thread (15 messages) 15 messages, 2 authors, 2017-04-20

Re: [PATCH v5 7/7] perf report: Show branch type in callchain entry

From: Jiri Olsa <hidden>
Date: 2017-04-19 14:15:45
Also in: lkml

On Wed, Apr 19, 2017 at 11:48:14PM +0800, Jin Yao wrote:

SNIP
+static int count_str_printf(int index, const char *str,
+	char *bf, int bfsize)
+{
+	int printed;
+
+	printed = scnprintf(bf, bfsize,
+		"%s%s",
+		(index) ? " " : " (", str);
+
+	return printed;
+}
+
+static int branch_type_str(struct branch_type_stat *stat,
+			   char *bf, int bfsize)
+{
+	int i, j = 0, printed = 0;
+	u64 total = 0;
+
+	for (i = 0; i < PERF_BR_MAX; i++)
+		total += stat->counts[i];
+
+	if (total == 0)
+		return 0;
+
+	if (stat->jcc_fwd > 0)
+		printed += count_str_printf(j++, "JCC forward",
+				bf + printed, bfsize - printed);
+
+	if (stat->jcc_bwd > 0)
+		printed += count_str_printf(j++, "JCC backward",
+				bf + printed, bfsize - printed);
+
+	for (i = 0; i < PERF_BR_MAX; i++) {
+		if (i == PERF_BR_JCC)
+			continue;
+
+		if (stat->counts[i] > 0)
+			printed += count_str_printf(j++, branch_type_name(i),
+					bf + printed, bfsize - printed);
+	}
+
+	if (stat->cross_4k > 0)
+		printed += count_str_printf(j++, "CROSS_4K",
+				bf + printed, bfsize - printed);
+
+	if (stat->cross_2m > 0)
+		printed += count_str_printf(j++, "CROSS_2M",
+				bf + printed, bfsize - printed);
+
+	return printed;
+}
could you please also move this one to that new branch.c file

thanks,
jirka
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help