提交 3e99e2f5 编写于 作者: J Jiri Olsa 提交者: Arnaldo Carvalho de Melo

perf stat: Remove transaction_run from shadow update/print code

It's no longer needed, because we use nameid to recognize transaction
events.

Keeping it only in stat code to initialize transaction events.

I.e. struct perf_stat::id, accessible via evsel->priv, will be only set
for transaction related events.
Signed-off-by: NJiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1433341559-31848-5-git-send-email-jolsa@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 a454742c
...@@ -355,11 +355,11 @@ static void update_shadow_stats(struct perf_evsel *counter, u64 *count, ...@@ -355,11 +355,11 @@ static void update_shadow_stats(struct perf_evsel *counter, u64 *count,
update_stats(&runtime_nsecs_stats[cpu], count[0]); update_stats(&runtime_nsecs_stats[cpu], count[0]);
else if (perf_evsel__match(counter, HARDWARE, HW_CPU_CYCLES)) else if (perf_evsel__match(counter, HARDWARE, HW_CPU_CYCLES))
update_stats(&runtime_cycles_stats[ctx][cpu], count[0]); update_stats(&runtime_cycles_stats[ctx][cpu], count[0]);
else if (transaction_run && perf_stat_evsel__is(counter, CYCLES_IN_TX)) else if (perf_stat_evsel__is(counter, CYCLES_IN_TX))
update_stats(&runtime_transaction_stats[ctx][cpu], count[0]); update_stats(&runtime_transaction_stats[ctx][cpu], count[0]);
else if (transaction_run && perf_stat_evsel__is(counter, TRANSACTION_START)) else if (perf_stat_evsel__is(counter, TRANSACTION_START))
update_stats(&runtime_transaction_stats[ctx][cpu], count[0]); update_stats(&runtime_transaction_stats[ctx][cpu], count[0]);
else if (transaction_run && perf_stat_evsel__is(counter, ELISION_START)) else if (perf_stat_evsel__is(counter, ELISION_START))
update_stats(&runtime_elision_stats[ctx][cpu], count[0]); update_stats(&runtime_elision_stats[ctx][cpu], count[0]);
else if (perf_evsel__match(counter, HARDWARE, HW_STALLED_CYCLES_FRONTEND)) else if (perf_evsel__match(counter, HARDWARE, HW_STALLED_CYCLES_FRONTEND))
update_stats(&runtime_stalled_cycles_front_stats[ctx][cpu], count[0]); update_stats(&runtime_stalled_cycles_front_stats[ctx][cpu], count[0]);
...@@ -1170,13 +1170,13 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg) ...@@ -1170,13 +1170,13 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
} else { } else {
fprintf(output, " "); fprintf(output, " ");
} }
} else if (transaction_run && perf_stat_evsel__is(evsel, CYCLES_IN_TX)) { } else if (perf_stat_evsel__is(evsel, CYCLES_IN_TX)) {
total = avg_stats(&runtime_cycles_stats[ctx][cpu]); total = avg_stats(&runtime_cycles_stats[ctx][cpu]);
if (total) if (total)
fprintf(output, fprintf(output,
" # %5.2f%% transactional cycles ", " # %5.2f%% transactional cycles ",
100.0 * (avg / total)); 100.0 * (avg / total));
} else if (transaction_run && perf_stat_evsel__is(evsel, CYCLES_IN_TX_CP)) { } else if (perf_stat_evsel__is(evsel, CYCLES_IN_TX_CP)) {
total = avg_stats(&runtime_cycles_stats[ctx][cpu]); total = avg_stats(&runtime_cycles_stats[ctx][cpu]);
total2 = avg_stats(&runtime_cycles_in_tx_stats[ctx][cpu]); total2 = avg_stats(&runtime_cycles_in_tx_stats[ctx][cpu]);
if (total2 < avg) if (total2 < avg)
...@@ -1185,7 +1185,7 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg) ...@@ -1185,7 +1185,7 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
fprintf(output, fprintf(output,
" # %5.2f%% aborted cycles ", " # %5.2f%% aborted cycles ",
100.0 * ((total2-avg) / total)); 100.0 * ((total2-avg) / total));
} else if (transaction_run && perf_stat_evsel__is(evsel, TRANSACTION_START) && } else if (perf_stat_evsel__is(evsel, TRANSACTION_START) &&
avg > 0 && avg > 0 &&
runtime_cycles_in_tx_stats[ctx][cpu].n != 0) { runtime_cycles_in_tx_stats[ctx][cpu].n != 0) {
total = avg_stats(&runtime_cycles_in_tx_stats[ctx][cpu]); total = avg_stats(&runtime_cycles_in_tx_stats[ctx][cpu]);
...@@ -1194,7 +1194,7 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg) ...@@ -1194,7 +1194,7 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
ratio = total / avg; ratio = total / avg;
fprintf(output, " # %8.0f cycles / transaction ", ratio); fprintf(output, " # %8.0f cycles / transaction ", ratio);
} else if (transaction_run && perf_stat_evsel__is(evsel, ELISION_START) && } else if (perf_stat_evsel__is(evsel, ELISION_START) &&
avg > 0 && avg > 0 &&
runtime_cycles_in_tx_stats[ctx][cpu].n != 0) { runtime_cycles_in_tx_stats[ctx][cpu].n != 0) {
total = avg_stats(&runtime_cycles_in_tx_stats[ctx][cpu]); total = avg_stats(&runtime_cycles_in_tx_stats[ctx][cpu]);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册