[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v9 0/7] trace: Optimize per-vCPU TCG tracing states
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH v9 0/7] trace: Optimize per-vCPU TCG tracing states |
Date: |
Mon, 26 Jun 2017 18:04:34 -0400 |
v8: https://lists.gnu.org/archive/html/qemu-devel/2017-06/msg02335.html
Changes from v8:
- Rebased on top of the current tracing tree -- the one that includes
Lluis' fix (2c321e3c486).
- Added Lluis' R-b tag.
- Added perf numbers in the commit log of the last patch (tl;dr: no overhead).
Thanks,
Emilio
PS. How to quickly get some linux-user perf numbers:
I used dbt-bench[1] for a before/after comparison. I added a script to that
repo (breakdown.pl, see below) to make it play well with barchart[2].
Obtaining a comparison bar chart is quite simple:
1. Generate one dbt-bench output file per QEMU checkout, e.g.:
$ git checkout orig && make
[ orig == "before"; new == "after" ]
$ ./dbt-bench.pl /path/to/qemu/build/qemu-x86_64 > orig.out
[ then do the same with orig-disabled, new, etc.]
[...]
$ ls *.out
new-disabled.out new.out orig-enabled.out orig.out
2. Call dbt-bench's breakdown.pl script with the --barchart option, then
pipe the output to barchart, and finally pipe to gnuplot:
$ ./breakdown.pl --barchart orig.out orig-enabled.out new.out
new-disabled.out \
| ../barchart/barchart.pl --extra-gnuplot='set term dumb 140 30' \
--extra-gnuplot='set title "NBench score; higher is better"' \
| gnuplot
Note that barchart is just a front-end for gnuplot >=5, so any valid term will
work (e.g. 'set term pngcairo size 1200,500').
[1] https://github.com/cota/dbt-bench
[2] https://github.com/cota/barchart
- [Qemu-devel] [PATCH v9 0/7] trace: Optimize per-vCPU TCG tracing states,
Emilio G. Cota <=
- [Qemu-devel] [PATCH 1/7] exec: [tcg] Refactor flush of per-CPU virtual TB cache, Emilio G. Cota, 2017/06/26
- [Qemu-devel] [PATCH 3/7] trace: [tcg] Delay changes to dynamic state when translating, Emilio G. Cota, 2017/06/26
- [Qemu-devel] [PATCH 4/7] exec: [tcg] Use different TBs according to the vCPU's dynamic tracing state, Emilio G. Cota, 2017/06/26
- [Qemu-devel] [PATCH 6/7] trace: [tcg, trivial] Re-align generated code, Emilio G. Cota, 2017/06/26
- [Qemu-devel] [PATCH 2/7] cpu: allocate cpu->trace_dstate in place, Emilio G. Cota, 2017/06/26
- [Qemu-devel] [PATCH 7/7] trace: Statically enable all TCG guest events, Emilio G. Cota, 2017/06/26
- [Qemu-devel] [PATCH 5/7] trace: [tcg] Do not generate TCG code to trace dinamically-disabled events, Emilio G. Cota, 2017/06/26