[PATCH 0/2] accel/tcg/plugin: host insn size for plugin

Fei Wu posted 2 patches 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230406022751.757980-1-fei2.wu@intel.com
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Alexandre Iooss <erdnaxe@crans.org>, Mahmoud Mandour <ma.mandourr@gmail.com>
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(-)
[PATCH 0/2] accel/tcg/plugin: host insn size for plugin
Posted by Fei Wu 1 year, 1 month ago
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