qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 00/10] translate-all.c thread-safety


From: Frederic Konrad
Subject: Re: [Qemu-devel] [PATCH 00/10] translate-all.c thread-safety
Date: Fri, 14 Aug 2015 11:26:20 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 12/08/2015 18:40, Paolo Bonzini wrote:
Hi, this is my attempt at 1) extracting upstreamable parts out of Fred's
MTTCG,

Can you take this one as well after the replace spinlock by QemuMutex:
"remove unused spinlock."

Thanks,
Fred
  and 2) documenting what's going on in user-mode MTTCG 3) fix
one bug in the process.  I couldn't find any other locking problem
from reading the code.

The final two patches are not really upstreamable because they
add some still unnecessary locks to system emulation, but I included
them to show what's going on.  With this locking logic I do not need
tb_lock to be recursive anymore.

Paolo

KONRAD Frederic (4):
   cpus: protect work list with work_mutex
   cpus: remove tcg_halt_cond global variable.
   replace spinlock by QemuMutex.
   tcg: protect TBContext with tb_lock.

Paolo Bonzini (8):
   exec-all: remove non-TCG stuff from exec-all.h header.
   cpu-exec: elide more icount code if CONFIG_USER_ONLY
   tcg: code_bitmap is not used by user-mode emulation
   tcg: comment on which functions have to be called with mmap_lock held
   tcg: add memory barriers in page_find_alloc accesses
   exec: make mmap_lock/mmap_unlock globally available
   cpu-exec: fix lock hierarchy for user-mode emulation
   tcg: comment on which functions have to be called with tb_lock held

  bsd-user/qemu.h          |   2 -
  cpu-exec.c               | 107 +++++++++++++++++++++----------
  cpus.c                   |  34 ++++++----
  exec.c                   |   4 ++
  hw/i386/kvmvapic.c       |   2 +
  include/exec/exec-all.h  |  19 +++---
  include/exec/ram_addr.h  |   1 +
  include/qom/cpu.h        |   9 ++-
  include/sysemu/sysemu.h  |   3 +
  linux-user/main.c        |   6 +-
  linux-user/qemu.h        |   2 -
  qom/cpu.c                |   1 +
  target-i386/cpu.h        |   3 +
  target-i386/mem_helper.c |  25 +++++++-
  target-i386/translate.c  |   2 +
  tcg/tcg.h                |   6 ++
  translate-all.c          | 161 +++++++++++++++++++++++++++++++++++++----------
  17 files changed, 290 insertions(+), 97 deletions(-)





reply via email to

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