qemu/include
KONRAD Frederic e3b9ca8109 cputlb: introduce tlb_flush_* async work.
Some architectures allow to flush the tlb of other VCPUs. This is not a problem
when we have only one thread for all VCPUs but it definitely needs to be an
asynchronous work when we are in true multithreaded work.

We take the tb_lock() when doing this to avoid racing with other threads
which may be invalidating TB's at the same time. The alternative would
be to use proper atomic primitives to clear the tlb entries en-mass.

This patch doesn't do anything to protect other cputlb function being
called in MTTCG mode making cross vCPU changes.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
[AJB: remove need for g_malloc on defer, make check fixes, tb_lock]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
2017-02-24 10:32:46 +00:00
..
block block: document fields protected by AioContext lock 2017-02-21 11:39:40 +00:00
crypto crypto: add CTR mode support 2016-10-19 10:09:24 +01:00
disas Fix Thumb-1 BE32 execution and disassembly. 2017-02-07 18:29:59 +00:00
exec cputlb: introduce tlb_flush_* async work. 2017-02-24 10:32:46 +00:00
fpu target-ppc: Add xscvdphp, xscvhpdp 2017-01-31 10:10:14 +11:00
hw hw: xilinx-pcie: Add support for Xilinx AXI PCIe Controller 2017-02-21 23:49:29 +00:00
io io: make qio_channel_yield aware of AioContexts 2017-02-21 11:14:07 +00:00
libdecnumber Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
migration migration: Add VMSTATE_WITH_TMP 2017-02-13 17:27:14 +00:00
monitor char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
net vhost-net: Notify the backend about the host MTU 2017-01-10 07:02:53 +02:00
qapi include: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
qemu coroutine-lock: make CoRwlock thread-safe and fair 2017-02-21 11:39:40 +00:00
qom cputlb: introduce tlb_flush_* async work. 2017-02-24 10:32:46 +00:00
standard-headers virtio_crypto: header update 2017-01-18 22:59:53 +02:00
sysemu tcg: add options for enabling MTTCG 2017-02-24 10:32:45 +00:00
ui spice: allow to specify drm rendernode 2017-02-20 12:44:32 +01:00
elf.h nios2: Add usermode binaries emulation 2017-01-24 13:10:35 -08:00
glib-compat.h win32: use glib gpoll if glib >= 2.50 2017-01-24 23:26:53 +03:00
qemu-common.h tcg: Add EXCP_ATOMIC 2016-10-26 08:29:00 -07:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
trace-tcg.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00