Hi Alexander,
I used the --enable-profiler switch in ./configure, booted Linux and then executed "info profile" and "info jit" and was able to get some numbers, perhaps you can take a look.
=======================================
(qemu) info profile
async time 441278495527 (441.278)
qemu time 373681012679 (373.681)
(qemu) info jit
Translation buffer state:
gen code size 27939072/134093824
TB count 113121/1048568
TB avg target size 17 max=1204 bytes
TB avg host size 246 bytes (expansion ratio: 13.7)
cross page TB count 0 (0%)
direct jump count 64225 (56%) (2 jumps=47630 42%)
Statistics:
TB flush count 0
TB invalidate count 26864
TLB flush count 3183996
JIT cycles 1661534016 (0.692 s at 2.4 GHz)
translated TBs 113121 (aborted=0 0.0%)
avg ops/TB 22.9 max=451
deleted ops/TB 6.33
avg temps/TB 178.98 max=186
cycles/op 640.4
cycles/in byte 816.3
cycles/out byte 61.4
gen_interm time 13.5%
gen_code time 86.5%
optim./code time 384.6%
liveness/code time 157.3%
cpu_restore count 592305
avg cycles 20330.4
3,183,996 TLB flushes seems like a big number to me.
My build configuration is as follows:
==================
Install prefix /usr/local
BIOS directory /usr/local/share/qemu
binary directory /usr/local/bin
library directory /usr/local/lib
libexec directory /usr/local/libexec
include directory /usr/local/include
config directory /usr/local/etc
local state directory /usr/local/var
Manual directory /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /opt/src/qemu-1.4.0
C compiler cc
Host C compiler cc
Objective-C compiler cc
CFLAGS -O2 -D_FORTIFY_SOURCE=2 -g
QEMU_CFLAGS -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fstack-protector-all -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -I/usr/include/p11-kit-1 -I/usr/include/libpng12 -I/usr/include/nss -I/usr/include/nspr -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I$(SRC_PATH)/pixman/pixman -I$(BUILD_DIR)/pixman/pixman
LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
make make
install install
python python
smbd /usr/sbin/smbd
host CPU x86_64
host big endian no
target list ppc-softmmu ppcemb-softmmu ppc-linux-user
tcg debug enabled no
gprof enabled no
sparse enabled no
strip binaries yes
profiler yes
static build no
-Werror enabled no
pixman internal
SDL support yes
curses support yes
curl support yes
mingw32 support no
Audio drivers oss
Extra audio cards ac97 es1370 sb16 hda
Block whitelist
Mixer emulation yes
VirtFS support yes
VNC support yes
VNC TLS support yes
VNC SASL support yes
VNC JPEG support yes
VNC PNG support yes
VNC WS support yes
xen support yes
brlapi support yes
bluez support no
Documentation yes
NPTL support yes
GUEST_BASE yes
PIE yes
vde support yes
Linux AIO support yes
ATTR/XATTR support yes
Install blobs yes
KVM support yes
TCG interpreter yes
fdt support yes
preadv support yes
fdatasync yes
madvise yes
posix_madvise yes
sigev_thread_id yes
uuid support yes
libcap-ng support yes
vhost-net support yes
Trace backend nop
Trace output file trace-<pid>
spice support no (/)
rbd support yes
xfsctl support no
nss used yes
usb net redir no
OpenGL support yes
libiscsi support no
build guest agent yes
seccomp support no
coroutine backend ucontext
GlusterFS support no
virtio-blk-data-plane yes
gcov gcov
gcov enabled no
Thanks,
Allen