Hi,
While working on the hybrid-accelerator, I had to debug issues
with vCPU scheduling and BQL. This series contains patches I
wrote mostly as note for myself to better understand what was
going on. Please review carefully as I'm way out of my confort
zone...
Thanks,
Phil.
Philippe Mathieu-Daudé (16):
accel: Label outer / inner vCPU execution loops
cpus: Improve qemu_cpu_kick_self() docstring
cpus: Rename cpu_stop_current() -> qemu_cpu_stop_self()
cpus: Rename qemu_cpu_stop() to qemu_cpu_ack_stop_request()
cpus: Improve cpu_pause() docstring
cpus: Improve cpu_exit() docstring
cpus: Document process_queued_cpu_work*() runs on current vCPU
cpus: Slightly improve *run_on_cpu() docstrings
accel/tcg: Use RUN_ON_CPU_NULL for tcg_commit() callbacks
accel/kvm: Clarify use of @r variable in vcpu thread loop
accel/kvm: Consistently return CPU halt state from
process_async_events
target/arm/hvf: Move flush_cpu_state() into the inner vCPU loop
target/arm/hvf: Lock BQL outside of the vCPU inner execution loop
target/i386/hvf: Lock BQL outside of the vCPU inner execution loop
target/arm/powerctl: Move BQL assertions to async work context
target/arm/whpx: Fix argument order typo in memory access error
message
include/hw/core/cpu.h | 54 +++++++++++++++++++------------
include/system/cpus.h | 19 +++++++++--
accel/dummy-cpus.c | 1 +
accel/hvf/hvf-accel-ops.c | 1 +
accel/kvm/kvm-accel-ops.c | 10 +++---
accel/kvm/kvm-all.c | 1 +
accel/mshv/mshv-all.c | 2 ++
accel/tcg/tcg-accel-ops-mttcg.c | 1 +
accel/whpx/whpx-accel-ops.c | 1 +
hw/ppc/spapr_rtas.c | 2 +-
system/cpus.c | 9 +++---
system/physmem.c | 4 +--
system/runstate.c | 6 ++--
target/arm/arm-powerctl.c | 9 +-----
target/arm/hvf/hvf.c | 16 +++++----
target/arm/kvm.c | 2 +-
target/arm/whpx/whpx-all.c | 10 +++---
target/i386/hvf/hvf.c | 20 +++++++-----
target/i386/nvmm/nvmm-accel-ops.c | 1 +
target/i386/whpx/whpx-all.c | 1 +
target/riscv/kvm/kvm-cpu.c | 2 +-
21 files changed, 106 insertions(+), 66 deletions(-)
--
2.53.0