qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v8 00/16] cpu-exec: Safe work in quiescent state


From: Alex Bennée
Subject: Re: [Qemu-devel] [PATCH v8 00/16] cpu-exec: Safe work in quiescent state
Date: Sun, 25 Sep 2016 11:12:11 +0100
User-agent: mu4e 0.9.17; emacs 25.1.50.1

Paolo Bonzini <address@hidden> writes:

> Changes from v7

Looks good to my testing:

Tested-by: Alex Bennée <address@hidden>

>
> 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


--
Alex Bennée



reply via email to

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