qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/12] cpu-exec: Safe work in quiescent state
@ 2016-07-13 21:00 Sergey Fedorov
  2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 01/12] atomic: introduce atomic_dec_fetch Sergey Fedorov
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Sergey Fedorov @ 2016-07-13 21:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: patches, serge.fdrv, MTTCG Devel, KONRAD Frédéric,
	Alvise Rigo, Emilio G. Cota, Alex Bennée, Paolo Bonzini,
	Richard Henderson, Peter Maydell

From: Sergey Fedorov <serge.fdrv@gmail.com>

Hi,

This is a v3 for the RFC series [1]. This is not RFC anymore because
bsd-user is supported now. However I wasn't able to even compile-test
bsd-user so some help on this would be really appreciated.

This series is available at a public git repository:

    https://github.com/sergefdrv/qemu.git safe-cpu-work-v3

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

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 +++++++++++++++++++++++++++++++++++++++++++++
 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          |  22 ++++++--
 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            |  13 +++--
 20 files changed, 387 insertions(+), 253 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-07-13 21:00 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-13 21:00 [Qemu-devel] [PATCH v3 00/12] cpu-exec: Safe work in quiescent state Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 01/12] atomic: introduce atomic_dec_fetch Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 02/12] cpus: pass CPUState to run_on_cpu helpers Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 03/12] cpus: Move common code out of {async_, }run_on_cpu() Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 04/12] cpus: Wrap mutex used to protect CPU work Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 05/12] cpus: Rename flush_queued_work() Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 06/12] linux-user: Use QemuMutex and QemuCond Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 07/12] linux-user: Rework exclusive operation mechanism Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 08/12] linux-user: Add qemu_cpu_is_self() and qemu_cpu_kick() Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 09/12] linux-user: Support CPU work queue Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 10/12] bsd-user: " Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 11/12] cpu-exec-common: Introduce async_safe_run_on_cpu() Sergey Fedorov
2016-07-13 21:00 ` [Qemu-devel] [PATCH v3 12/12] tcg: Make tb_flush() thread safe Sergey Fedorov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).