From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50187) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGrHU-0003r8-Ve for qemu-devel@nongnu.org; Thu, 29 Jan 2015 10:45:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGrHO-0005JM-Gs for qemu-devel@nongnu.org; Thu, 29 Jan 2015 10:45:20 -0500 Received: from mail-lb0-f173.google.com ([209.85.217.173]:62904) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGrHO-0005J6-8s for qemu-devel@nongnu.org; Thu, 29 Jan 2015 10:45:14 -0500 Received: by mail-lb0-f173.google.com with SMTP id p9so29549786lbv.4 for ; Thu, 29 Jan 2015 07:45:13 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <1421428797-23697-6-git-send-email-fred.konrad@greensocs.com> References: <1421428797-23697-1-git-send-email-fred.konrad@greensocs.com> <1421428797-23697-6-git-send-email-fred.konrad@greensocs.com> From: Peter Maydell Date: Thu, 29 Jan 2015 15:44:53 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [RFC 05/10] extract TBContext from TCGContext. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?S09OUkFEIEZyw6lkw6lyaWM=?= Cc: mttcg@listserver.greensocs.com, "J. Kiszka" , Mark Burton , QEMU Developers , Alexander Graf , Paolo Bonzini On 16 January 2015 at 17:19, wrote: > From: KONRAD Frederic > > In order to have one TCGContext per thread and a single TBContext we have to > extract TBContext from TCGContext. This seems a bit odd. It's not clear to me what the advantages are of having one TCGContext per thread but only a single TBContext (as opposed to either (1) having a single TCGContext and TBContext with locks protecting against multiple threads generating code at once, or (2) having each thread have its own TCGContext and TBContext and completely independent codegen). Maybe it would help if you sketched out your design in a little more detail in the cover letter, with emphasis on which data structures are going to be per-thread and which are going to be shared (and if so how shared). (Long term we would want to be able to have multiple TBContexts to support heterogenous systems where CPUs might be different architectures or have different views of physical memory...) thanks -- PMM