From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41468) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZOqHq-0007j4-BW for qemu-devel@nongnu.org; Mon, 10 Aug 2015 12:50:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZOqHm-0001bl-Cl for qemu-devel@nongnu.org; Mon, 10 Aug 2015 12:50:58 -0400 Received: from mail-wi0-x22e.google.com ([2a00:1450:400c:c05::22e]:33438) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZOqHm-0001bV-5t for qemu-devel@nongnu.org; Mon, 10 Aug 2015 12:50:54 -0400 Received: by wijp15 with SMTP id p15so143265324wij.0 for ; Mon, 10 Aug 2015 09:50:53 -0700 (PDT) Sender: Paolo Bonzini References: <1439220437-23957-1-git-send-email-fred.konrad@greensocs.com> <1439220437-23957-8-git-send-email-fred.konrad@greensocs.com> <55C8D31A.8070703@redhat.com> From: Paolo Bonzini Message-ID: <55C8D66A.2060404@redhat.com> Date: Mon, 10 Aug 2015 18:50:50 +0200 MIME-Version: 1.0 In-Reply-To: <55C8D31A.8070703@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH V7 07/19] protect TBContext with tb_lock. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: fred.konrad@greensocs.com, qemu-devel@nongnu.org, mttcg@listserver.greensocs.com Cc: mark.burton@greensocs.com, alex.bennee@linaro.org, a.rigo@virtualopensystems.com, guillaume.delbergue@greensocs.com On 10/08/2015 18:36, Paolo Bonzini wrote: >> > diff --git a/target-arm/translate.c b/target-arm/translate.c >> > index 69ac18c..960c75e 100644 >> > --- a/target-arm/translate.c >> > +++ b/target-arm/translate.c >> > @@ -11166,6 +11166,8 @@ static inline void gen_intermediate_code_internal(ARMCPU *cpu, >> > >> > dc->tb = tb; >> > >> > + tb_lock(); > This locks twice, I think? Both cpu_restore_state_from_tb and > tb_gen_code (which calls cpu_gen_code) take the lock. How does it work? > ... ah, the lock is recursive! I think this can be avoided. Let's look at it next week. Paolo