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