qemu/softmmu
Richard Henderson d9ec18a0fc softmmu: Use async_run_on_cpu in tcg_commit
After system startup, run the update to memory_dispatch
and the tlb_flush on the cpu.  This eliminates a race,
wherein a running cpu sees the memory_dispatch change
but has not yet seen the tlb_flush.

Since the update now happens on the cpu, we need not use
qatomic_rcu_read to protect the read of memory_dispatch.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1826
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1834
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1846
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit 0d58c660689f6da1e3feff8a997014003d928b3b)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-10-03 02:00:54 +03:00
..
arch_init.c
balloon.c
bootdevice.c
cpu-throttle.c
cpu-timers.c
cpus.c atomics: eliminate mb_read/mb_set 2023-06-06 09:42:14 +02:00
datadir.c
device_tree.c
dirtylimit.c migration: Extend query-migrate to provide dirty page limit info 2023-07-26 10:55:56 +02:00
dma-helpers.c
globals.c
icount.c icount: don't adjust virtual time backwards after warp 2023-06-27 09:00:13 +02:00
ioport.c softmmu/ioport.c: make MemoryRegionPortioList owner of portio_list MemoryRegions 2023-05-25 10:18:33 +02:00
main.c
memory.c
memory_mapping.c
meson.build meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
physmem.c softmmu: Use async_run_on_cpu in tcg_commit 2023-10-03 02:00:54 +03:00
qdev-monitor.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
qemu-seccomp.c
qtest.c
rtc.c
runstate-action.c
runstate-hmp-cmds.c
runstate.c qemu_cleanup: begin drained section after vm_shutdown() 2023-07-07 12:49:22 +02:00
timers-state.h
tpm-hmp-cmds.c
tpm.c
trace-events
trace.h
vl.c
watchpoint.c