From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42008) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZQBFr-0002Os-Ok for qemu-devel@nongnu.org; Fri, 14 Aug 2015 05:26:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZQBFn-0001dH-Ni for qemu-devel@nongnu.org; Fri, 14 Aug 2015 05:26:27 -0400 Received: from greensocs.com ([193.104.36.180]:52425) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZQBFn-0001bl-A6 for qemu-devel@nongnu.org; Fri, 14 Aug 2015 05:26:23 -0400 Message-ID: <55CDB43C.9060200@greensocs.com> Date: Fri, 14 Aug 2015 11:26:20 +0200 From: Frederic Konrad MIME-Version: 1.0 References: <1439397664-70734-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1439397664-70734-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 00/10] translate-all.c thread-safety List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , qemu-devel@nongnu.org Cc: mttcg@greensocs.com 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(-) >