]> xenbits.xensource.com Git - qemu-xen.git/commit
softmmu: Use async_run_on_cpu in tcg_commit
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 25 Aug 2023 23:13:17 +0000 (16:13 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 29 Aug 2023 16:55:06 +0000 (09:55 -0700)
commit0d58c660689f6da1e3feff8a997014003d928b3b
tree081ceb163f15f146b86d9ecc64e56f85f3fd6454
parent86e4f93d827d3c1efd00cd8a906e38a2c0f2b5bc
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>
accel/tcg/cpu-exec-common.c
include/exec/cpu-common.h
softmmu/physmem.c