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

Jiri Olsa jolsa at redhat.com
Thu Apr 20 00:15:38 AEST 2017


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


More information about the Linuxppc-dev mailing list