qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]