perf/urgent fixes:
User visible: - Fix 'perf stat' transaction lenght metrics (Andi Kleen) Developer visible: - Fix test build error when bindir contains double slash (Pawel Moll) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJVt6jPAAoJENZQFvNTUqpAiWMP/iPrqDf16VOnQ2CKBxvH1Rcq EdSuS06Re7ccqItVn6ffpzD1Vsz4rrd3EeNwmhFBQ1oJoAP4qQ5w+YTsNcCYn9Y9 eB0XleNAnmmdqKI/nG49VuhvcNccIG5+8CdgEmPOkj8RIqfQMrCDeIaOI6OzqnvG J6OwGCIXatYzTS/B4z6yVzdtkxu6YuQSSyu1CyQx+PWnuxTjt7MeEvj9OLDWhERu 0HkBU72qv27oz8fnVJ0p/ZgRABIvehBtMRpqomhXYDBynX9O/tgPgeaRSDBki1ng P48aKLVUvkihW4YZa5+n/9+uP3uevFV3+DSl+Fv5zj2u0G3dW+UjekpFpjZAWdrz 8JrQeql01QQl93ZU1F2aAXkdWb0RZDbqkXZJg1tIZlK5mE3vXIJ77Ii0CCa2U0fW uhxSz2GodDaR96+F2UaKJkDbXirwHeLU2Djl99bf1bCOShuJqTSSDX5Yqgr/ZnmX /uZRNwCVV9u3c3ksvcFWbldBcs6WYSX+3Vmq7hSpC+NUUaHPj1XBimpZ2LqEvIa3 CG2KsTYX3YmrNC3PtNUa0bjZZVvVs1FyrsuAiPkrFwihXKDllo1YRyO+ln0bO6n6 KVZImT9hF8Da5kn+Im4YzAWoPHgkcWdX0zuBXKq7TRH3SXrQQwTE+QQPk0pdlGXE WrtsbuogtY/frk4un4fH =fl0W -----END PGP SIGNATURE----- Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fixes from Arnaldo Carvalho de Melo: - Fix 'perf stat' transaction length metrics. (Andi Kleen) - Fix test build error when bindir contains double slash. (Pawel Moll) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Коммит
5542b2aa9e
|
@ -638,7 +638,7 @@ ifndef DESTDIR
|
|||
prefix ?= $(HOME)
|
||||
endif
|
||||
bindir_relative = bin
|
||||
bindir = $(prefix)/$(bindir_relative)
|
||||
bindir = $(abspath $(prefix)/$(bindir_relative))
|
||||
mandir = share/man
|
||||
infodir = share/info
|
||||
perfexecdir = libexec/perf-core
|
||||
|
|
|
@ -85,7 +85,7 @@ void perf_stat__update_shadow_stats(struct perf_evsel *counter, u64 *count,
|
|||
else if (perf_evsel__match(counter, HARDWARE, HW_CPU_CYCLES))
|
||||
update_stats(&runtime_cycles_stats[ctx][cpu], count[0]);
|
||||
else if (perf_stat_evsel__is(counter, CYCLES_IN_TX))
|
||||
update_stats(&runtime_transaction_stats[ctx][cpu], count[0]);
|
||||
update_stats(&runtime_cycles_in_tx_stats[ctx][cpu], count[0]);
|
||||
else if (perf_stat_evsel__is(counter, TRANSACTION_START))
|
||||
update_stats(&runtime_transaction_stats[ctx][cpu], count[0]);
|
||||
else if (perf_stat_evsel__is(counter, ELISION_START))
|
||||
|
@ -398,20 +398,18 @@ void perf_stat__print_shadow_stats(FILE *out, struct perf_evsel *evsel,
|
|||
" # %5.2f%% aborted cycles ",
|
||||
100.0 * ((total2-avg) / total));
|
||||
} else if (perf_stat_evsel__is(evsel, TRANSACTION_START) &&
|
||||
avg > 0 &&
|
||||
runtime_cycles_in_tx_stats[ctx][cpu].n != 0) {
|
||||
total = avg_stats(&runtime_cycles_in_tx_stats[ctx][cpu]);
|
||||
|
||||
if (total)
|
||||
if (avg)
|
||||
ratio = total / avg;
|
||||
|
||||
fprintf(out, " # %8.0f cycles / transaction ", ratio);
|
||||
} else if (perf_stat_evsel__is(evsel, ELISION_START) &&
|
||||
avg > 0 &&
|
||||
runtime_cycles_in_tx_stats[ctx][cpu].n != 0) {
|
||||
total = avg_stats(&runtime_cycles_in_tx_stats[ctx][cpu]);
|
||||
|
||||
if (total)
|
||||
if (avg)
|
||||
ratio = total / avg;
|
||||
|
||||
fprintf(out, " # %8.0f cycles / elision ", ratio);
|
||||
|
|
Загрузка…
Ссылка в новой задаче