From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 15654C7EE29 for ; Fri, 9 Jun 2023 04:47:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rHwcbH+Ur64P3HEVK/lAJ92ncZdU3FTrRBGisHthGsE=; b=YGUMRX7VhXcAOE 9kaU7UDLetCuZ5n3dx6p6oGm4RkcMIJFlUGOopqV6nnF5PipJFC3X6aOIo7KYuUQVFxlEd1B+quoE 2XgtRyZCINePAqYzPkdjH2kob0ctP1Pv36ph687bYMnSuO2IzexfmXQcK4BLVht33sNyfuW0byUEP 6zelQLhdBUdDyoTpN0SCo0VnY84vSJWONcbumt2MHiznawBqZLx0VnvgPGddkhan+2DUyH7CojPNK hse3aPiBAsXqZDW4aMSAQ3LBa+D8IZE3kY830GFGCKsNyVwWkTpauyKSH9eVDZoun/jn1bZtmkM3y AjGeCasDGLOJ1U6oeO8Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q7U2B-00BdSx-13; Fri, 09 Jun 2023 04:47:35 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q7U28-00BdS2-36 for linux-arm-kernel@lists.infradead.org; Fri, 09 Jun 2023 04:47:34 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B5BEFAB6; Thu, 8 Jun 2023 21:48:14 -0700 (PDT) Received: from [10.163.44.201] (unknown [10.163.44.201]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B22F53F587; Thu, 8 Jun 2023 21:47:23 -0700 (PDT) Message-ID: Date: Fri, 9 Jun 2023 10:17:19 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH V11 06/10] arm64/perf: Enable branch stack events via FEAT_BRBE Content-Language: en-US To: Mark Rutland Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, will@kernel.org, catalin.marinas@arm.com, Mark Brown , James Clark , Rob Herring , Marc Zyngier , Suzuki Poulose , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , linux-perf-users@vger.kernel.org References: <20230531040428.501523-1-anshuman.khandual@arm.com> <20230531040428.501523-7-anshuman.khandual@arm.com> From: Anshuman Khandual In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230608_214733_091620_BE41037F X-CRM114-Status: GOOD ( 14.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 6/5/23 19:13, Mark Rutland wrote: >> +/* >> + * A branch record with BRBINFx_EL1.LASTFAILED set, implies that all >> + * preceding consecutive branch records, that were in a transaction >> + * (i.e their BRBINFx_EL1.TX set) have been aborted. >> + * >> + * Similarly BRBFCR_EL1.LASTFAILED set, indicate that all preceding >> + * consecutive branch records up to the last record, which were in a >> + * transaction (i.e their BRBINFx_EL1.TX set) have been aborted. >> + * >> + * --------------------------------- ------------------- >> + * | 00 | BRBSRC | BRBTGT | BRBINF | | TX = 1 | LF = 0 | [TX success] >> + * --------------------------------- ------------------- >> + * | 01 | BRBSRC | BRBTGT | BRBINF | | TX = 1 | LF = 0 | [TX success] >> + * --------------------------------- ------------------- >> + * | 02 | BRBSRC | BRBTGT | BRBINF | | TX = 0 | LF = 0 | >> + * --------------------------------- ------------------- >> + * | 03 | BRBSRC | BRBTGT | BRBINF | | TX = 1 | LF = 0 | [TX failed] >> + * --------------------------------- ------------------- >> + * | 04 | BRBSRC | BRBTGT | BRBINF | | TX = 1 | LF = 0 | [TX failed] >> + * --------------------------------- ------------------- >> + * | 05 | BRBSRC | BRBTGT | BRBINF | | TX = 0 | LF = 1 | >> + * --------------------------------- ------------------- >> + * | .. | BRBSRC | BRBTGT | BRBINF | | TX = 0 | LF = 0 | >> + * --------------------------------- ------------------- >> + * | 61 | BRBSRC | BRBTGT | BRBINF | | TX = 1 | LF = 0 | [TX failed] >> + * --------------------------------- ------------------- >> + * | 62 | BRBSRC | BRBTGT | BRBINF | | TX = 1 | LF = 0 | [TX failed] >> + * --------------------------------- ------------------- >> + * | 63 | BRBSRC | BRBTGT | BRBINF | | TX = 1 | LF = 0 | [TX failed] >> + * --------------------------------- ------------------- >> + * >> + * BRBFCR_EL1.LASTFAILED == 1 >> + * >> + * BRBFCR_EL1.LASTFAILED fails all those consecutive, in transaction >> + * branches records near the end of the BRBE buffer. >> + * >> + * Architecture does not guarantee a non transaction (TX = 0) branch >> + * record between two different transactions. So it is possible that >> + * a subsequent lastfailed record (TX = 0, LF = 1) might erroneously >> + * mark more than required transactions as aborted. >> + */ > Linux doesn't currently support TME (and IIUC no-one has built it), so can't we > delete the transaction handling for now? We can add a comment with somehing like: > > /* > * TODO: add transaction handling for TME. > */ > > Assuming no-one has built TME, we might also be able to get an architectural > fix to disambiguate the boundary between two transactions, and avoid the > problem described above. > > [...] > OR can leave this unchanged for now. Then update it if and when the relevant architectural fix comes in. The current TME branch records handling here, is as per the current architectural specification. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel