* [PATCH v1] perf report: Drop cycles 0 for LBR print
@ 2017-03-09 8:06 Jin Yao
2017-03-28 15:34 ` Arnaldo Carvalho de Melo
2017-04-02 19:13 ` [tip:perf/core] " tip-bot for Jin Yao
0 siblings, 2 replies; 5+ messages in thread
From: Jin Yao @ 2017-03-09 8:06 UTC (permalink / raw)
To: acme, jolsa; +Cc: Linux-kernel, ak, kan.liang, yao.jin, Jin Yao
For some platforms, for example Broadwell, it doesn't support cycles
for LBR. But the perf always prints cycles:0, it's not necessary.
The patch refactors the LBR info print code and drops the cycles:0.
For example: perf report --branch-history --no-children --stdio
On Broadwell:
--0.91%--__random_r random_r.c:394 (iterations:2)
__random_r random_r.c:360 (predicted:0.0%)
__random_r random_r.c:380 (predicted:0.0%)
__random_r random_r.c:357
On Skylake:
--1.07%--main div.c:39 (predicted:52.4% cycles:1 iterations:17)
main div.c:44 (predicted:52.4% cycles:1)
main div.c:42 (cycles:2)
compute_flag div.c:28 (cycles:2)
compute_flag div.c:27 (cycles:1)
rand rand.c:28 (cycles:1)
rand rand.c:28 (cycles:1)
__random random.c:298 (cycles:1)
__random random.c:297 (cycles:1)
__random random.c:295 (cycles:1)
__random random.c:295 (cycles:1)
__random random.c:295 (cycles:1)
Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
---
tools/perf/util/callchain.c | 111 +++++++++++++++++++++++++++++---------------
1 file changed, 74 insertions(+), 37 deletions(-)
diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
index aba9534..f84626d 100644
--- a/tools/perf/util/callchain.c
+++ b/tools/perf/util/callchain.c
@@ -1063,63 +1063,100 @@ int callchain_branch_counts(struct callchain_root *root,
cycles_count);
}
-static int callchain_counts_printf(FILE *fp, char *bf, int bfsize,
- u64 branch_count, u64 predicted_count,
- u64 abort_count, u64 cycles_count,
- u64 iter_count, u64 samples_count)
+static int counts_str_build(char *bf, int bfsize,
+ u64 branch_count, u64 predicted_count,
+ u64 abort_count, u64 cycles_count,
+ u64 iter_count, u64 samples_count)
{
double predicted_percent = 0.0;
const char *null_str = "";
char iter_str[32];
- char *str;
- u64 cycles = 0;
-
- if (branch_count == 0) {
- if (fp)
- return fprintf(fp, " (calltrace)");
+ char cycle_str[32];
+ char *istr, *cstr;
+ u64 cycles;
+ if (branch_count == 0)
return scnprintf(bf, bfsize, " (calltrace)");
- }
+
+ cycles = cycles_count / branch_count;
if (iter_count && samples_count) {
- scnprintf(iter_str, sizeof(iter_str),
- ", iterations:%" PRId64 "",
- iter_count / samples_count);
- str = iter_str;
+ if (cycles > 0)
+ scnprintf(iter_str, sizeof(iter_str),
+ " iterations:%" PRId64 "",
+ iter_count / samples_count);
+ else
+ scnprintf(iter_str, sizeof(iter_str),
+ "iterations:%" PRId64 "",
+ iter_count / samples_count);
+ istr = iter_str;
+ } else
+ istr = (char *)null_str;
+
+ if (cycles > 0) {
+ scnprintf(cycle_str, sizeof(cycle_str),
+ "cycles:%" PRId64 "", cycles);
+ cstr = cycle_str;
} else
- str = (char *)null_str;
+ cstr = (char *)null_str;
predicted_percent = predicted_count * 100.0 / branch_count;
- cycles = cycles_count / branch_count;
- if ((predicted_percent >= 100.0) && (abort_count == 0)) {
- if (fp)
- return fprintf(fp, " (cycles:%" PRId64 "%s)",
- cycles, str);
+ if ((predicted_count == branch_count) && (abort_count == 0)) {
+ if ((cycles > 0) || (istr != (char *)null_str))
+ return scnprintf(bf, bfsize, " (%s%s)", cstr, istr);
+ else
+ return scnprintf(bf, bfsize, "%s", (char *)null_str);
+ }
- return scnprintf(bf, bfsize, " (cycles:%" PRId64 "%s)",
- cycles, str);
+ if ((predicted_count < branch_count) && (abort_count == 0)) {
+ if ((cycles > 0) || (istr != (char *)null_str))
+ return scnprintf(bf, bfsize,
+ " (predicted:%.1f%% %s%s)",
+ predicted_percent, cstr, istr);
+ else {
+ return scnprintf(bf, bfsize,
+ " (predicted:%.1f%%)",
+ predicted_percent);
+ }
}
- if ((predicted_percent < 100.0) && (abort_count == 0)) {
- if (fp)
- return fprintf(fp,
- " (predicted:%.1f%%, cycles:%" PRId64 "%s)",
- predicted_percent, cycles, str);
+ if ((predicted_count == branch_count) && (abort_count > 0)) {
+ if ((cycles > 0) || (istr != (char *)null_str))
+ return scnprintf(bf, bfsize,
+ " (abort:%" PRId64 " %s%s)",
+ abort_count, cstr, istr);
+ else
+ return scnprintf(bf, bfsize,
+ " (abort:%" PRId64 ")",
+ abort_count);
+ }
+ if ((cycles > 0) || (istr != (char *)null_str))
return scnprintf(bf, bfsize,
- " (predicted:%.1f%%, cycles:%" PRId64 "%s)",
- predicted_percent, cycles, str);
- }
+ " (predicted:%.1f%% abort:%" PRId64 " %s%s)",
+ predicted_percent, abort_count, cstr, istr);
+
+ return scnprintf(bf, bfsize,
+ " (predicted:%.1f%% abort:%" PRId64 ")",
+ predicted_percent, abort_count);
+}
+
+static int callchain_counts_printf(FILE *fp, char *bf, int bfsize,
+ u64 branch_count, u64 predicted_count,
+ u64 abort_count, u64 cycles_count,
+ u64 iter_count, u64 samples_count)
+{
+ char str[128];
+
+ counts_str_build(str, sizeof(str), branch_count,
+ predicted_count, abort_count, cycles_count,
+ iter_count, samples_count);
if (fp)
- return fprintf(fp,
- " (predicted:%.1f%%, abort:%" PRId64 ", cycles:%" PRId64 "%s)",
- predicted_percent, abort_count, cycles, str);
+ return fprintf(fp, "%s", str);
- return scnprintf(bf, bfsize,
- " (predicted:%.1f%%, abort:%" PRId64 ", cycles:%" PRId64 "%s)",
- predicted_percent, abort_count, cycles, str);
+ return scnprintf(bf, bfsize, "%s", str);
}
int callchain_list_counts__printf_value(struct callchain_node *node,
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v1] perf report: Drop cycles 0 for LBR print
2017-03-09 8:06 [PATCH v1] perf report: Drop cycles 0 for LBR print Jin Yao
@ 2017-03-28 15:34 ` Arnaldo Carvalho de Melo
2017-03-28 17:05 ` Andi Kleen
2017-04-02 19:13 ` [tip:perf/core] " tip-bot for Jin Yao
1 sibling, 1 reply; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-03-28 15:34 UTC (permalink / raw)
To: Jin Yao; +Cc: jolsa, Linux-kernel, ak, kan.liang, yao.jin
Em Thu, Mar 09, 2017 at 04:06:26PM +0800, Jin Yao escreveu:
> For some platforms, for example Broadwell, it doesn't support cycles
> for LBR. But the perf always prints cycles:0, it's not necessary.
>
> The patch refactors the LBR info print code and drops the cycles:0.
>
> For example: perf report --branch-history --no-children --stdio
Can I get some reviewed-by or acked-by for this patch? Andi? Kan?
- Arnaldo
> On Broadwell:
> --0.91%--__random_r random_r.c:394 (iterations:2)
> __random_r random_r.c:360 (predicted:0.0%)
> __random_r random_r.c:380 (predicted:0.0%)
> __random_r random_r.c:357
>
> On Skylake:
> --1.07%--main div.c:39 (predicted:52.4% cycles:1 iterations:17)
> main div.c:44 (predicted:52.4% cycles:1)
> main div.c:42 (cycles:2)
> compute_flag div.c:28 (cycles:2)
> compute_flag div.c:27 (cycles:1)
> rand rand.c:28 (cycles:1)
> rand rand.c:28 (cycles:1)
> __random random.c:298 (cycles:1)
> __random random.c:297 (cycles:1)
> __random random.c:295 (cycles:1)
> __random random.c:295 (cycles:1)
> __random random.c:295 (cycles:1)
>
> Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
> ---
> tools/perf/util/callchain.c | 111 +++++++++++++++++++++++++++++---------------
> 1 file changed, 74 insertions(+), 37 deletions(-)
>
> diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
> index aba9534..f84626d 100644
> --- a/tools/perf/util/callchain.c
> +++ b/tools/perf/util/callchain.c
> @@ -1063,63 +1063,100 @@ int callchain_branch_counts(struct callchain_root *root,
> cycles_count);
> }
>
> -static int callchain_counts_printf(FILE *fp, char *bf, int bfsize,
> - u64 branch_count, u64 predicted_count,
> - u64 abort_count, u64 cycles_count,
> - u64 iter_count, u64 samples_count)
> +static int counts_str_build(char *bf, int bfsize,
> + u64 branch_count, u64 predicted_count,
> + u64 abort_count, u64 cycles_count,
> + u64 iter_count, u64 samples_count)
> {
> double predicted_percent = 0.0;
> const char *null_str = "";
> char iter_str[32];
> - char *str;
> - u64 cycles = 0;
> -
> - if (branch_count == 0) {
> - if (fp)
> - return fprintf(fp, " (calltrace)");
> + char cycle_str[32];
> + char *istr, *cstr;
> + u64 cycles;
>
> + if (branch_count == 0)
> return scnprintf(bf, bfsize, " (calltrace)");
> - }
> +
> + cycles = cycles_count / branch_count;
>
> if (iter_count && samples_count) {
> - scnprintf(iter_str, sizeof(iter_str),
> - ", iterations:%" PRId64 "",
> - iter_count / samples_count);
> - str = iter_str;
> + if (cycles > 0)
> + scnprintf(iter_str, sizeof(iter_str),
> + " iterations:%" PRId64 "",
> + iter_count / samples_count);
> + else
> + scnprintf(iter_str, sizeof(iter_str),
> + "iterations:%" PRId64 "",
> + iter_count / samples_count);
> + istr = iter_str;
> + } else
> + istr = (char *)null_str;
> +
> + if (cycles > 0) {
> + scnprintf(cycle_str, sizeof(cycle_str),
> + "cycles:%" PRId64 "", cycles);
> + cstr = cycle_str;
> } else
> - str = (char *)null_str;
> + cstr = (char *)null_str;
>
> predicted_percent = predicted_count * 100.0 / branch_count;
> - cycles = cycles_count / branch_count;
>
> - if ((predicted_percent >= 100.0) && (abort_count == 0)) {
> - if (fp)
> - return fprintf(fp, " (cycles:%" PRId64 "%s)",
> - cycles, str);
> + if ((predicted_count == branch_count) && (abort_count == 0)) {
> + if ((cycles > 0) || (istr != (char *)null_str))
> + return scnprintf(bf, bfsize, " (%s%s)", cstr, istr);
> + else
> + return scnprintf(bf, bfsize, "%s", (char *)null_str);
> + }
>
> - return scnprintf(bf, bfsize, " (cycles:%" PRId64 "%s)",
> - cycles, str);
> + if ((predicted_count < branch_count) && (abort_count == 0)) {
> + if ((cycles > 0) || (istr != (char *)null_str))
> + return scnprintf(bf, bfsize,
> + " (predicted:%.1f%% %s%s)",
> + predicted_percent, cstr, istr);
> + else {
> + return scnprintf(bf, bfsize,
> + " (predicted:%.1f%%)",
> + predicted_percent);
> + }
> }
>
> - if ((predicted_percent < 100.0) && (abort_count == 0)) {
> - if (fp)
> - return fprintf(fp,
> - " (predicted:%.1f%%, cycles:%" PRId64 "%s)",
> - predicted_percent, cycles, str);
> + if ((predicted_count == branch_count) && (abort_count > 0)) {
> + if ((cycles > 0) || (istr != (char *)null_str))
> + return scnprintf(bf, bfsize,
> + " (abort:%" PRId64 " %s%s)",
> + abort_count, cstr, istr);
> + else
> + return scnprintf(bf, bfsize,
> + " (abort:%" PRId64 ")",
> + abort_count);
> + }
>
> + if ((cycles > 0) || (istr != (char *)null_str))
> return scnprintf(bf, bfsize,
> - " (predicted:%.1f%%, cycles:%" PRId64 "%s)",
> - predicted_percent, cycles, str);
> - }
> + " (predicted:%.1f%% abort:%" PRId64 " %s%s)",
> + predicted_percent, abort_count, cstr, istr);
> +
> + return scnprintf(bf, bfsize,
> + " (predicted:%.1f%% abort:%" PRId64 ")",
> + predicted_percent, abort_count);
> +}
> +
> +static int callchain_counts_printf(FILE *fp, char *bf, int bfsize,
> + u64 branch_count, u64 predicted_count,
> + u64 abort_count, u64 cycles_count,
> + u64 iter_count, u64 samples_count)
> +{
> + char str[128];
> +
> + counts_str_build(str, sizeof(str), branch_count,
> + predicted_count, abort_count, cycles_count,
> + iter_count, samples_count);
>
> if (fp)
> - return fprintf(fp,
> - " (predicted:%.1f%%, abort:%" PRId64 ", cycles:%" PRId64 "%s)",
> - predicted_percent, abort_count, cycles, str);
> + return fprintf(fp, "%s", str);
>
> - return scnprintf(bf, bfsize,
> - " (predicted:%.1f%%, abort:%" PRId64 ", cycles:%" PRId64 "%s)",
> - predicted_percent, abort_count, cycles, str);
> + return scnprintf(bf, bfsize, "%s", str);
> }
>
> int callchain_list_counts__printf_value(struct callchain_node *node,
> --
> 2.7.4
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v1] perf report: Drop cycles 0 for LBR print
2017-03-28 15:34 ` Arnaldo Carvalho de Melo
@ 2017-03-28 17:05 ` Andi Kleen
2017-03-28 19:29 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 5+ messages in thread
From: Andi Kleen @ 2017-03-28 17:05 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: Jin Yao, jolsa, Linux-kernel, kan.liang, yao.jin
On Tue, Mar 28, 2017 at 12:34:52PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Mar 09, 2017 at 04:06:26PM +0800, Jin Yao escreveu:
> > For some platforms, for example Broadwell, it doesn't support cycles
> > for LBR. But the perf always prints cycles:0, it's not necessary.
> >
> > The patch refactors the LBR info print code and drops the cycles:0.
> >
> > For example: perf report --branch-history --no-children --stdio
>
> Can I get some reviewed-by or acked-by for this patch? Andi? Kan?
Reviewed-by: Andi Kleen <ak@linux.intel.com>
-Andi
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v1] perf report: Drop cycles 0 for LBR print
2017-03-28 17:05 ` Andi Kleen
@ 2017-03-28 19:29 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-03-28 19:29 UTC (permalink / raw)
To: Andi Kleen; +Cc: Jin Yao, jolsa, Linux-kernel, kan.liang, yao.jin
Em Tue, Mar 28, 2017 at 10:05:44AM -0700, Andi Kleen escreveu:
> On Tue, Mar 28, 2017 at 12:34:52PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Mar 09, 2017 at 04:06:26PM +0800, Jin Yao escreveu:
> > > For some platforms, for example Broadwell, it doesn't support cycles
> > > for LBR. But the perf always prints cycles:0, it's not necessary.
> > >
> > > The patch refactors the LBR info print code and drops the cycles:0.
> > >
> > > For example: perf report --branch-history --no-children --stdio
> >
> > Can I get some reviewed-by or acked-by for this patch? Andi? Kan?
>
> Reviewed-by: Andi Kleen <ak@linux.intel.com>
Thanks, applied.
- Arnaldo
^ permalink raw reply [flat|nested] 5+ messages in thread
* [tip:perf/core] perf report: Drop cycles 0 for LBR print
2017-03-09 8:06 [PATCH v1] perf report: Drop cycles 0 for LBR print Jin Yao
2017-03-28 15:34 ` Arnaldo Carvalho de Melo
@ 2017-04-02 19:13 ` tip-bot for Jin Yao
1 sibling, 0 replies; 5+ messages in thread
From: tip-bot for Jin Yao @ 2017-04-02 19:13 UTC (permalink / raw)
To: linux-tip-commits
Cc: jolsa, hpa, mingo, tglx, yao.jin, kan.liang, acme, linux-kernel
Commit-ID: c1dfcfad5879df7f41c436d887aea509dadd516d
Gitweb: http://git.kernel.org/tip/c1dfcfad5879df7f41c436d887aea509dadd516d
Author: Jin Yao <yao.jin@linux.intel.com>
AuthorDate: Thu, 9 Mar 2017 16:06:26 +0800
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Tue, 28 Mar 2017 16:20:59 -0300
perf report: Drop cycles 0 for LBR print
For some platforms, for example Broadwell, it doesn't support cycles
for LBR. But the perf always prints cycles:0, it's not necessary.
The patch refactors the LBR info print code and drops the cycles:0.
For example: perf report --branch-history --no-children --stdio
On Broadwell:
--0.91%--__random_r random_r.c:394 (iterations:2)
__random_r random_r.c:360 (predicted:0.0%)
__random_r random_r.c:380 (predicted:0.0%)
__random_r random_r.c:357
On Skylake:
--1.07%--main div.c:39 (predicted:52.4% cycles:1 iterations:17)
main div.c:44 (predicted:52.4% cycles:1)
main div.c:42 (cycles:2)
compute_flag div.c:28 (cycles:2)
compute_flag div.c:27 (cycles:1)
rand rand.c:28 (cycles:1)
rand rand.c:28 (cycles:1)
__random random.c:298 (cycles:1)
__random random.c:297 (cycles:1)
__random random.c:295 (cycles:1)
__random random.c:295 (cycles:1)
__random random.c:295 (cycles:1)
Signed-off-by: Yao Jin <yao.jin@linux.intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Link: http://lkml.kernel.org/r/1489046786-10061-1-git-send-email-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/callchain.c | 111 +++++++++++++++++++++++++++++---------------
1 file changed, 74 insertions(+), 37 deletions(-)
diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
index d78776a..3cea1fb 100644
--- a/tools/perf/util/callchain.c
+++ b/tools/perf/util/callchain.c
@@ -1105,63 +1105,100 @@ int callchain_branch_counts(struct callchain_root *root,
cycles_count);
}
-static int callchain_counts_printf(FILE *fp, char *bf, int bfsize,
- u64 branch_count, u64 predicted_count,
- u64 abort_count, u64 cycles_count,
- u64 iter_count, u64 samples_count)
+static int counts_str_build(char *bf, int bfsize,
+ u64 branch_count, u64 predicted_count,
+ u64 abort_count, u64 cycles_count,
+ u64 iter_count, u64 samples_count)
{
double predicted_percent = 0.0;
const char *null_str = "";
char iter_str[32];
- char *str;
- u64 cycles = 0;
-
- if (branch_count == 0) {
- if (fp)
- return fprintf(fp, " (calltrace)");
+ char cycle_str[32];
+ char *istr, *cstr;
+ u64 cycles;
+ if (branch_count == 0)
return scnprintf(bf, bfsize, " (calltrace)");
- }
+
+ cycles = cycles_count / branch_count;
if (iter_count && samples_count) {
- scnprintf(iter_str, sizeof(iter_str),
- ", iterations:%" PRId64 "",
- iter_count / samples_count);
- str = iter_str;
+ if (cycles > 0)
+ scnprintf(iter_str, sizeof(iter_str),
+ " iterations:%" PRId64 "",
+ iter_count / samples_count);
+ else
+ scnprintf(iter_str, sizeof(iter_str),
+ "iterations:%" PRId64 "",
+ iter_count / samples_count);
+ istr = iter_str;
+ } else
+ istr = (char *)null_str;
+
+ if (cycles > 0) {
+ scnprintf(cycle_str, sizeof(cycle_str),
+ "cycles:%" PRId64 "", cycles);
+ cstr = cycle_str;
} else
- str = (char *)null_str;
+ cstr = (char *)null_str;
predicted_percent = predicted_count * 100.0 / branch_count;
- cycles = cycles_count / branch_count;
- if ((predicted_percent >= 100.0) && (abort_count == 0)) {
- if (fp)
- return fprintf(fp, " (cycles:%" PRId64 "%s)",
- cycles, str);
+ if ((predicted_count == branch_count) && (abort_count == 0)) {
+ if ((cycles > 0) || (istr != (char *)null_str))
+ return scnprintf(bf, bfsize, " (%s%s)", cstr, istr);
+ else
+ return scnprintf(bf, bfsize, "%s", (char *)null_str);
+ }
- return scnprintf(bf, bfsize, " (cycles:%" PRId64 "%s)",
- cycles, str);
+ if ((predicted_count < branch_count) && (abort_count == 0)) {
+ if ((cycles > 0) || (istr != (char *)null_str))
+ return scnprintf(bf, bfsize,
+ " (predicted:%.1f%% %s%s)",
+ predicted_percent, cstr, istr);
+ else {
+ return scnprintf(bf, bfsize,
+ " (predicted:%.1f%%)",
+ predicted_percent);
+ }
}
- if ((predicted_percent < 100.0) && (abort_count == 0)) {
- if (fp)
- return fprintf(fp,
- " (predicted:%.1f%%, cycles:%" PRId64 "%s)",
- predicted_percent, cycles, str);
+ if ((predicted_count == branch_count) && (abort_count > 0)) {
+ if ((cycles > 0) || (istr != (char *)null_str))
+ return scnprintf(bf, bfsize,
+ " (abort:%" PRId64 " %s%s)",
+ abort_count, cstr, istr);
+ else
+ return scnprintf(bf, bfsize,
+ " (abort:%" PRId64 ")",
+ abort_count);
+ }
+ if ((cycles > 0) || (istr != (char *)null_str))
return scnprintf(bf, bfsize,
- " (predicted:%.1f%%, cycles:%" PRId64 "%s)",
- predicted_percent, cycles, str);
- }
+ " (predicted:%.1f%% abort:%" PRId64 " %s%s)",
+ predicted_percent, abort_count, cstr, istr);
+
+ return scnprintf(bf, bfsize,
+ " (predicted:%.1f%% abort:%" PRId64 ")",
+ predicted_percent, abort_count);
+}
+
+static int callchain_counts_printf(FILE *fp, char *bf, int bfsize,
+ u64 branch_count, u64 predicted_count,
+ u64 abort_count, u64 cycles_count,
+ u64 iter_count, u64 samples_count)
+{
+ char str[128];
+
+ counts_str_build(str, sizeof(str), branch_count,
+ predicted_count, abort_count, cycles_count,
+ iter_count, samples_count);
if (fp)
- return fprintf(fp,
- " (predicted:%.1f%%, abort:%" PRId64 ", cycles:%" PRId64 "%s)",
- predicted_percent, abort_count, cycles, str);
+ return fprintf(fp, "%s", str);
- return scnprintf(bf, bfsize,
- " (predicted:%.1f%%, abort:%" PRId64 ", cycles:%" PRId64 "%s)",
- predicted_percent, abort_count, cycles, str);
+ return scnprintf(bf, bfsize, "%s", str);
}
int callchain_list_counts__printf_value(struct callchain_node *node,
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-04-02 19:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-09 8:06 [PATCH v1] perf report: Drop cycles 0 for LBR print Jin Yao
2017-03-28 15:34 ` Arnaldo Carvalho de Melo
2017-03-28 17:05 ` Andi Kleen
2017-03-28 19:29 ` Arnaldo Carvalho de Melo
2017-04-02 19:13 ` [tip:perf/core] " tip-bot for Jin Yao
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.