unicorn/qemu
Emilio G. Cota 16113cbd3c
translate-all: report correct avg host TB size
Since commit 6e3b2bfd6 ("tcg: allocate TB structs before the
corresponding translated code") we are not fully utilizing
code_gen_buffer for translated code, and therefore are
incorrectly reporting the amount of translated code as well as
the average host TB size. Address this by:

- Making the conscious choice of misreporting the total translated code;
doing otherwise would mislead users into thinking "-tb-size" is not
honoured.

- Expanding tb_tree_stats to accurately count the bytes of translated code on
the host, and using this for reporting the average tb host size,
as well as the expansion ratio.

In the future we might want to consider reporting the accurate numbers for
the total translated code, together with a "bookkeeping/overhead" field to
account for the TB structs.

Backports commit f19c6cc6fc356dab7a766b471ec5eb3058f0afc1 from qemu
2018-03-13 16:22:24 -04:00
..
accel translate-all: report correct avg host TB size 2018-03-13 16:22:24 -04:00
crypto crypto: Clean up includes 2018-02-19 00:47:40 -05:00
default-configs arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
docs docs: clarify memory region lifecycle 2018-02-12 15:11:21 -05:00
fpu softfloat: fix crash on int conversion of SNaN 2018-03-09 11:40:17 -05:00
hw target/arm: Make 'any' CPU just an alias for 'max' 2018-03-12 10:11:49 -04:00
include exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
qapi qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
qobject qdict: Introduce qdict_rename_keys() 2018-03-12 10:11:48 -04:00
qom tcg: Add CPUState cflags_next_tb 2018-03-13 14:39:43 -04:00
scripts qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
target translate-all: use a binary search tree to track TBs in TBContext 2018-03-13 16:18:29 -04:00
tcg tcg: check CF_PARALLEL instead of parallel_cpus 2018-03-13 15:17:59 -04:00
util Backport qht hashtable 2018-03-13 13:55:30 -04:00
aarch64.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
aarch64eb.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
armeb.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure tcg: move tcg backend files into accel/tcg/ 2018-03-13 11:48:15 -04:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpus.c Include qapi/error.h exactly where needed 2018-03-07 12:26:38 -05:00
exec.c exec: Drop unnecessary code for unicorn 2018-03-12 10:11:46 -04:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c translate-all: use a binary search tree to track TBs in TBContext 2018-03-13 16:18:29 -04:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
Makefile qapi: Don't create useless directory qapi-generated 2018-03-09 11:36:49 -05:00
Makefile.objs qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
Makefile.target tcg: move tcg backend files into accel/tcg/ 2018-03-13 11:48:15 -04:00
memory.c memory: Share special empty FlatView 2018-03-11 22:34:28 -04:00
memory_ldst.inc.c exec: Drop unnecessary code for unicorn 2018-03-12 10:11:46 -04:00
memory_mapping.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
mips.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
mips64.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
mips64el.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
mipsel.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
powerpc.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
sparc.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
sparc64.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00
unicorn_common.h tb hash: track translated blocks with qht 2018-03-13 14:16:26 -04:00
VERSION import 2015-08-21 15:04:50 +08:00
vl.c machine: Eliminate QEMUMachine and qemu_register_machine() 2018-03-11 15:22:25 -04:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h exec-all: rename tb_free to tb_remove 2018-03-13 16:20:41 -04:00