From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40996) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBjyZ-0007tl-My for qemu-devel@nongnu.org; Thu, 15 Jan 2015 07:56:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YBjyU-0007Lg-LC for qemu-devel@nongnu.org; Thu, 15 Jan 2015 07:56:39 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39786) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBjyU-0007LW-DA for qemu-devel@nongnu.org; Thu, 15 Jan 2015 07:56:34 -0500 Message-ID: <54B7B8F7.1000206@redhat.com> Date: Thu, 15 Jan 2015 13:56:23 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <54B7958D.2040108@greensocs.com> <54B7A0B6.60903@redhat.com> <54B7B7D0.3010308@greensocs.com> In-Reply-To: <54B7B7D0.3010308@greensocs.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] global_mutex and multithread. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Frederic Konrad , mttcg@greensocs.com, qemu-devel Cc: Peter Maydell , Alexander Graf On 15/01/2015 13:51, Frederic Konrad wrote: > > > Thanks for the reply. > > As I understand the idea of Jan is to unlock the global_mutex during tcg > execution. > Is that right? > So that means it's currently not the case and we won't be able to run > two TCG > threads at the same time? Yes. > About the RCU, is there a lot of device which change the memory map? All PCI devices (when you program their BARs), but apart from that not much. As a first approximation, the patches on github which use CPU_INTERRUPT_TLBFLUSH should work even for multiple TCG threads. I'll clean them up a bit further so that CPU_INTERRUPT_TLBFLUSH is used for CPUs other than the running one; the running CPU instead uses tlb_flush directly. If anyone can sum up how cpu_resume_from_signal works, that would also be helpful. Paolo