[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v8 00/16] cpu-exec: Safe work in quiescent state
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v8 00/16] cpu-exec: Safe work in quiescent state |
Date: |
Fri, 23 Sep 2016 09:31:33 +0200 |
Changes from v7
patch 1: one more instance to change
patch 4: rename cpu_list_mutex to cpu_list_lock [Emilio]
avoid problems from spurious wakeups [me]
patch 6: rename qemu_cpu_list_mutex to qemu_cpu_list_lock (ripples
to other patches afterwards) [Emilio]
patch 13: adjust comments on top of start_exclusive/end_exclusive [Emilio]
patch 14: do not set wi->exclusive [Emilio]
patch 16: use atomics for pending_cpus and cpu->running
(not for cpu->has_waiter) [Emilio]
Alex Bennée (1):
cpus: pass CPUState to run_on_cpu helpers
Paolo Bonzini (9):
cpus-common: move CPU list management to common code
cpus-common: fix uninitialized variable use in run_on_cpu
cpus-common: move exclusive work infrastructure from linux-user
docs: include formal model for TCG exclusive sections
cpus-common: always defer async_run_on_cpu work items
cpus-common: remove redundant call to exclusive_idle()
cpus-common: simplify locking for start_exclusive/end_exclusive
cpus-common: Introduce async_safe_run_on_cpu()
cpus-common: lock-free fast path for cpu_exec_start/end
Sergey Fedorov (6):
cpus: Move common code out of {async_, }run_on_cpu()
cpus: Rename flush_queued_work()
linux-user: Use QemuMutex and QemuCond
linux-user: Add qemu_cpu_is_self() and qemu_cpu_kick()
cpus-common: move CPU work item management to common code
tcg: Make tb_flush() thread safe
Makefile.objs | 2 +-
bsd-user/main.c | 33 ++---
cpu-exec.c | 12 +-
cpus-common.c | 352 +++++++++++++++++++++++++++++++++++++++++++++
cpus.c | 99 +------------
docs/tcg-exclusive.promela | 224 +++++++++++++++++++++++++++++
exec.c | 37 +----
hw/i386/kvm/apic.c | 5 +-
hw/i386/kvmvapic.c | 6 +-
hw/ppc/ppce500_spin.c | 31 ++--
hw/ppc/spapr.c | 6 +-
hw/ppc/spapr_hcall.c | 17 +--
include/exec/cpu-common.h | 5 +
include/exec/exec-all.h | 11 --
include/exec/tb-context.h | 2 +-
include/qom/cpu.h | 102 +++++++++++--
kvm-all.c | 21 +--
linux-user/main.c | 130 +++++------------
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 | 38 +++--
vl.c | 1 +
26 files changed, 856 insertions(+), 416 deletions(-)
create mode 100644 cpus-common.c
create mode 100644 docs/tcg-exclusive.promela
--
2.7.4
- [Qemu-devel] [PATCH v8 00/16] cpu-exec: Safe work in quiescent state,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 02/16] cpus: Move common code out of {async_, }run_on_cpu(), Paolo Bonzini, 2016/09/23
- [Qemu-devel] [PATCH 03/16] cpus: Rename flush_queued_work(), Paolo Bonzini, 2016/09/23
- [Qemu-devel] [PATCH 01/16] cpus: pass CPUState to run_on_cpu helpers, Paolo Bonzini, 2016/09/23
- [Qemu-devel] [PATCH 04/16] linux-user: Use QemuMutex and QemuCond, Paolo Bonzini, 2016/09/23
- [Qemu-devel] [PATCH 06/16] cpus-common: move CPU list management to common code, Paolo Bonzini, 2016/09/23