qemu/stubs
Paolo Bonzini afbe70535f main-loop: introduce qemu_mutex_iothread_locked
This function will be used to avoid recursive locking of the iothread lock
whenever address_space_rw/ld*/st* are called with the BQL held, which is
almost always the case.

Tracking whether the iothread is owned is very cheap (just use a TLS
variable) but requires some care because now the lock must always be
taken with qemu_mutex_lock_iothread().  Previously this wasn't the case.
Outside TCG mode this is not a problem.  In TCG mode, we need to be
careful and avoid the "prod out of compiled code" step if already
in a VCPU thread.  This is easily done with a check on current_cpu,
i.e. qemu_in_vcpu_thread().

Hopefully, multithreaded TCG will get rid of the whole logic to kick
VCPUs whenever an I/O event occurs!

Cc: Frederic Konrad <fred.konrad@greensocs.com>
Message-Id: <1434646046-27150-3-git-send-email-pbonzini@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-07-01 15:45:50 +02:00
..
arch-query-cpu-def.c qerror: Clean up QERR_ macros to expand into a single string 2015-06-22 18:20:40 +02:00
bdrv-commit-all.c
chr-baum-init.c
chr-msmouse.c
chr-testdev.c
clock-warp.c
cpu-get-clock.c
cpu-get-icount.c
cpus.c
dump.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
fd-register.c
fdset-add-fd.c
fdset-find-fd.c
fdset-get-fd.c
fdset-remove-fd.c
gdbstub.c
get-fd.c
get-next-serial.c
get-vm-name.c
iothread-lock.c main-loop: introduce qemu_mutex_iothread_locked 2015-07-01 15:45:50 +02:00
is-daemonized.c
kvm.c
machine-init-done.c
Makefile.objs qerror: Finally unused, clean up 2015-06-22 18:20:40 +02:00
migr-blocker.c
mon-is-qmp.c qerror: Finally unused, clean up 2015-06-22 18:20:40 +02:00
mon-printf.c
monitor-init.c
notify-event.c
qemu-chr-open-spice.c
qmp_pc_dimm_device_list.c pc-dimm: add a function to calculate VM's current RAM size 2015-03-04 13:00:04 -05:00
qtest.c
reset.c
runstate-check.c
set-fd-handler.c iohandler: Change return type of qemu_set_fd_handler to "void" 2015-06-12 13:26:21 +01:00
slirp.c
sysbus.c
uuid.c
vc-init.c
vm-stop.c
vmstate.c