The translation ratio of host to guest instruction count is one of the
key performance factor of binary translation. It's better to have this
kind of information exported to plugin for analysis. As the host insn
size is not determined at guest->IR time, its address is recorded for
later dereference, and plugin inline mode is not supported.
Here is an example of the output with modified plugin hotblocks:
pc, tcount, icount, ecount, host isize
0xffffffff8041ad6c, 1, 9, 130450345, 456
0xffffffff800084f0, 1, 9, 88273714, 264
0xffffffff800084e4, 1, 3, 88264146, 135
0xffffffff8041abd0, 1, 1, 46032689, 123
0xffffffff8041ab3c, 1, 1, 46021650, 123
0xffffffff8045ffe8, 1, 5, 40927215, 328
Fei Wu (2):
accel/tcg/plugin: export host insn size
plugins/hotblocks: add host insn size
accel/tcg/plugin-gen.c | 1 +
contrib/plugins/hotblocks.c | 24 +++++++++++++++---------
include/qemu/plugin.h | 2 ++
include/qemu/qemu-plugin.h | 8 ++++++++
plugins/api.c | 5 +++++
plugins/qemu-plugins.symbols | 1 +
6 files changed, 32 insertions(+), 9 deletions(-)
--
2.25.1