[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 00/12] cpu-exec: Safe work in quiescent state
From: |
Sergey Fedorov |
Subject: |
[Qemu-devel] [PATCH v4 00/12] cpu-exec: Safe work in quiescent state |
Date: |
Fri, 15 Jul 2016 21:57:14 +0300 |
From: Sergey Fedorov <address@hidden>
Hi,
This is a v4 for the series [1]. There's only a small change to keep
tb_flush() statistic and debugging output sane. I also picked up
"Reviewed-by" tags.
This series is available at a public git repository:
https://github.com/sergefdrv/qemu.git safe-cpu-work-v4
Summary of changes in v4:
- keep tb_flush() statistics and debugging output sane
Summary of changes in v3:
- bsd-user support added
- 'tb_flushed' removed
Summary of changes in v2:
- atomic_dec_fetch() used to decrement 'safe_work_pending'
- more work to use/fix passing CPUState to run_on_cpu helpers
- instead of wrapping conditional variables access, use QemuMutex and
QemuCond in linux-user and just wrap getting of the relevant mutex.
- document new public API
- Rename 'tcg_pending_cpus' to 'tcg_pending_threads'
Kind regards,
Sergey
[1] http://thread.gmane.org/gmane.comp.emulators.qemu/426554
Alex Bennée (2):
atomic: introduce atomic_dec_fetch.
cpus: pass CPUState to run_on_cpu helpers
Sergey Fedorov (10):
cpus: Move common code out of {async_,}run_on_cpu()
cpus: Wrap mutex used to protect CPU work
cpus: Rename flush_queued_work()
linux-user: Use QemuMutex and QemuCond
linux-user: Rework exclusive operation mechanism
linux-user: Add qemu_cpu_is_self() and qemu_cpu_kick()
linux-user: Support CPU work queue
bsd-user: Support CPU work queue
cpu-exec-common: Introduce async_safe_run_on_cpu()
tcg: Make tb_flush() thread safe
bsd-user/main.c | 16 ++++++
cpu-exec-common.c | 132 +++++++++++++++++++++++++++++++++++++++++++++
cpu-exec.c | 14 +----
cpus.c | 106 +++++++-----------------------------
hw/i386/kvm/apic.c | 3 +-
hw/i386/kvmvapic.c | 6 +--
hw/ppc/ppce500_spin.c | 31 ++++-------
hw/ppc/spapr.c | 6 +--
hw/ppc/spapr_hcall.c | 17 +++---
include/exec/exec-all.h | 31 +++++++++++
include/qemu/atomic.h | 4 ++
include/qom/cpu.h | 24 +++++++--
kvm-all.c | 21 +++-----
linux-user/main.c | 94 ++++++++++++++++++++------------
target-i386/helper.c | 19 +++----
target-i386/kvm.c | 6 +--
target-s390x/cpu.c | 4 +-
target-s390x/cpu.h | 7 +--
target-s390x/kvm.c | 98 ++++++++++++++++-----------------
target-s390x/misc_helper.c | 4 +-
translate-all.c | 17 +++---
21 files changed, 391 insertions(+), 269 deletions(-)
--
2.9.1
- [Qemu-devel] [PATCH v4 00/12] cpu-exec: Safe work in quiescent state,
Sergey Fedorov <=
- [Qemu-devel] [PATCH v4 01/12] atomic: introduce atomic_dec_fetch., Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 11/12] cpu-exec-common: Introduce async_safe_run_on_cpu(), Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 10/12] bsd-user: Support CPU work queue, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 05/12] cpus: Rename flush_queued_work(), Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 06/12] linux-user: Use QemuMutex and QemuCond, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 02/12] cpus: pass CPUState to run_on_cpu helpers, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 08/12] linux-user: Add qemu_cpu_is_self() and qemu_cpu_kick(), Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 03/12] cpus: Move common code out of {async_, }run_on_cpu(), Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 12/12] tcg: Make tb_flush() thread safe, Sergey Fedorov, 2016/07/15