]> git.proxmox.com Git - mirror_qemu.git/commit - include/qom/cpu.h
tcg: signal-free qemu_cpu_kick
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 25 Aug 2015 22:19:19 +0000 (00:19 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 9 Sep 2015 13:34:54 +0000 (15:34 +0200)
commite0c382113f768cc375a0d61b7cb3692f1b4bba58
tree87828150b475879623e8068d0c2249eb43fef596
parent9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
tcg: signal-free qemu_cpu_kick

Signals are slow and do not exist on Win32.  The previous patches
have done most of the legwork to introduce memory barriers (some
of them were even there already for the sake of Windows!) and
we can now set the flags directly in the iothread.

qemu_cpu_kick_thread is not used anymore on TCG, since the TCG thread is
never outside usermode while the CPU is running (not halted).  Instead run
the content of the signal handler (now in qemu_cpu_kick_no_halt) directly.
qemu_cpu_kick_no_halt is also used in qemu_mutex_lock_iothread to avoid
the overhead of qemu_cond_broadcast.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
cpu-exec.c
cpus.c
include/exec/exec-all.h
include/qom/cpu.h