From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16771 invoked by alias); 8 Nov 2012 12:39:58 -0000 Received: (qmail 16762 invoked by uid 22791); 8 Nov 2012 12:39:58 -0000 X-SWARE-Spam-Status: No, hits=-7.3 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_SPAMHAUS_DROP,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD,SPF_HELO_PASS,TW_TX X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 08 Nov 2012 12:39:53 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id qA8CdnJZ010550 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 8 Nov 2012 07:39:49 -0500 Received: from [10.36.7.102] (vpn1-7-102.ams2.redhat.com [10.36.7.102]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id qA8CdkQt010411; Thu, 8 Nov 2012 07:39:48 -0500 Subject: Re: [trans-mem][rfc] Improvements to uninstrumented code paths From: Torvald Riegel To: Andi Kleen Cc: Richard Henderson , GCC Patches , Aldy Hernandez In-Reply-To: References: <509AE85C.2000107@redhat.com> Content-Type: text/plain; charset="UTF-8" Date: Thu, 08 Nov 2012 12:39:00 -0000 Message-ID: <1352378384.3374.36994.camel@triegel.csb> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg00689.txt.bz2 On Wed, 2012-11-07 at 15:08 -0800, Andi Kleen wrote: > Richard Henderson writes: > > > > Is it ever likely that we'd choose an uninstrumented path for a > > nested transaction, given that we're already executing the instrumented > > path for an outer transaction? > > I don't see why not. A small inner transaction may well succeed > in HTM, even if the big outer one does not. It could succeed, but this would require a HyTM scheme: when the enclosing txn is a SW txn synchronizing with other SW txns, then the nested HW txn would have to synchronize with those other SW txns too. So, if the STM has a serialized commit phase or something like that, then you can run the uninstrumented code path from within HW txns (because the HyTM part can be done on begin). But for all HyTMs that do need instrumentation, it wouldn't work.