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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55F1AC7EE2C for ; Mon, 5 Jun 2023 03:01:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230374AbjFEDBI (ORCPT ); Sun, 4 Jun 2023 23:01:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232619AbjFEDBH (ORCPT ); Sun, 4 Jun 2023 23:01:07 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AC45DBD; Sun, 4 Jun 2023 20:01:03 -0700 (PDT) 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 EAC13D75; Sun, 4 Jun 2023 20:01:48 -0700 (PDT) Received: from [10.162.41.6] (a077893.blr.arm.com [10.162.41.6]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 969373F663; Sun, 4 Jun 2023 20:00:58 -0700 (PDT) Message-ID: Date: Mon, 5 Jun 2023 08:30:55 +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: Namhyung Kim Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, will@kernel.org, catalin.marinas@arm.com, mark.rutland@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: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-perf-users@vger.kernel.org On 6/2/23 07:15, Namhyung Kim wrote: > Hello, > > On Tue, May 30, 2023 at 9:21 PM Anshuman Khandual > wrote: >> >> This enables branch stack sampling events in ARMV8 PMU, via an architecture >> feature FEAT_BRBE aka branch record buffer extension. This defines required >> branch helper functions pmuv8pmu_branch_XXXXX() and the implementation here >> is wrapped with a new config option CONFIG_ARM64_BRBE. >> >> Cc: Catalin Marinas >> Cc: Will Deacon >> Cc: Mark Rutland >> Cc: linux-arm-kernel@lists.infradead.org >> Cc: linux-kernel@vger.kernel.org >> Tested-by: James Clark >> Signed-off-by: Anshuman Khandual >> --- > > [SNIP] >> +void armv8pmu_branch_read(struct pmu_hw_events *cpuc, struct perf_event *event) >> +{ >> + struct brbe_hw_attr *brbe_attr = (struct brbe_hw_attr *)cpuc->percpu_pmu->private; >> + u64 brbfcr, brbcr; >> + int idx, loop1_idx1, loop1_idx2, loop2_idx1, loop2_idx2, count; >> + >> + brbcr = read_sysreg_s(SYS_BRBCR_EL1); >> + brbfcr = read_sysreg_s(SYS_BRBFCR_EL1); >> + >> + /* Ensure pause on PMU interrupt is enabled */ >> + WARN_ON_ONCE(!(brbcr & BRBCR_EL1_FZP)); >> + >> + /* Pause the buffer */ >> + write_sysreg_s(brbfcr | BRBFCR_EL1_PAUSED, SYS_BRBFCR_EL1); >> + isb(); >> + >> + /* Determine the indices for each loop */ >> + loop1_idx1 = BRBE_BANK0_IDX_MIN; >> + if (brbe_attr->brbe_nr <= BRBE_BANK_MAX_ENTRIES) { >> + loop1_idx2 = brbe_attr->brbe_nr - 1; >> + loop2_idx1 = BRBE_BANK1_IDX_MIN; >> + loop2_idx2 = BRBE_BANK0_IDX_MAX; > > Is this to disable the bank1? Maybe need a comment. Sure, will add a comment. > > >> + } else { >> + loop1_idx2 = BRBE_BANK0_IDX_MAX; >> + loop2_idx1 = BRBE_BANK1_IDX_MIN; >> + loop2_idx2 = brbe_attr->brbe_nr - 1; >> + } > > The loop2_idx1 is the same for both cases. Maybe better > to move it out of the if statement. Sure, will do the following change as suggested but wondering whether should the change be implemented from this patch onwards or in the later patch that adds capture_brbe_regset(). --- a/drivers/perf/arm_brbe.c +++ b/drivers/perf/arm_brbe.c @@ -56,13 +56,14 @@ static int capture_brbe_regset(struct brbe_hw_attr *brbe_attr, struct brbe_regse int idx, count; loop1_idx1 = BRBE_BANK0_IDX_MIN; + loop2_idx1 = BRBE_BANK1_IDX_MIN; if (brbe_attr->brbe_nr <= BRBE_BANK_MAX_ENTRIES) { loop1_idx2 = brbe_attr->brbe_nr - 1; - loop2_idx1 = BRBE_BANK1_IDX_MIN; + + /* Disable capturing the bank 1 */ loop2_idx2 = BRBE_BANK0_IDX_MAX; } else { loop1_idx2 = BRBE_BANK0_IDX_MAX; - loop2_idx1 = BRBE_BANK1_IDX_MIN; loop2_idx2 = brbe_attr->brbe_nr - 1; } 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 8AF9FC77B73 for ; Mon, 5 Jun 2023 03:01:33 +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=GKDcZF6ub/Ohx/8WA5RBJzeewKkJoixZlLDkOqfONMk=; b=Us0rIMWgLaDqR0 BftNyBY9vkvfJNGb2UHC63BcbXVEo1g+Mnwoo6bUY7/qBkBafPLZgsz6gQ9mLTbTi7zpFH0IfzdKg d7rmSIt+11QcGavD3joGU2G4kTfwtezR+uULNQGQTSnxQtpOXSpXeBJUuUDVz0zWLNnUzJ6B/uxMB wwHg+fUC3tED51ecrLyEn8+M1yhnGb6UzLr2hRB0NqGUsuvjpblmkw9GVvpSf0cVvN8JxsBjnqLtI pbnzovU0PJeJpmGPKKO5FpyUNP71a2mWzm7HXPjDiUia54gHWjsvi/3YBjuzo1gUf/wiWe1dqx9C0 Fgfndqorh34gubgeqnyA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q60T0-00Dqra-2B; Mon, 05 Jun 2023 03:01:10 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q60Sx-00DqqW-3C for linux-arm-kernel@lists.infradead.org; Mon, 05 Jun 2023 03:01:09 +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 EAC13D75; Sun, 4 Jun 2023 20:01:48 -0700 (PDT) Received: from [10.162.41.6] (a077893.blr.arm.com [10.162.41.6]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 969373F663; Sun, 4 Jun 2023 20:00:58 -0700 (PDT) Message-ID: Date: Mon, 5 Jun 2023 08:30:55 +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: Namhyung Kim Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, will@kernel.org, catalin.marinas@arm.com, mark.rutland@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-20230604_200108_124999_EBD21247 X-CRM114-Status: GOOD ( 22.88 ) 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="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiA2LzIvMjMgMDc6MTUsIE5hbWh5dW5nIEtpbSB3cm90ZToKPiBIZWxsbywKPiAKPiBPbiBU dWUsIE1heSAzMCwgMjAyMyBhdCA5OjIx4oCvUE0gQW5zaHVtYW4gS2hhbmR1YWwKPiA8YW5zaHVt YW4ua2hhbmR1YWxAYXJtLmNvbT4gd3JvdGU6Cj4+Cj4+IFRoaXMgZW5hYmxlcyBicmFuY2ggc3Rh Y2sgc2FtcGxpbmcgZXZlbnRzIGluIEFSTVY4IFBNVSwgdmlhIGFuIGFyY2hpdGVjdHVyZQo+PiBm ZWF0dXJlIEZFQVRfQlJCRSBha2EgYnJhbmNoIHJlY29yZCBidWZmZXIgZXh0ZW5zaW9uLiBUaGlz IGRlZmluZXMgcmVxdWlyZWQKPj4gYnJhbmNoIGhlbHBlciBmdW5jdGlvbnMgcG11djhwbXVfYnJh bmNoX1hYWFhYKCkgYW5kIHRoZSBpbXBsZW1lbnRhdGlvbiBoZXJlCj4+IGlzIHdyYXBwZWQgd2l0 aCBhIG5ldyBjb25maWcgb3B0aW9uIENPTkZJR19BUk02NF9CUkJFLgo+Pgo+PiBDYzogQ2F0YWxp biBNYXJpbmFzIDxjYXRhbGluLm1hcmluYXNAYXJtLmNvbT4KPj4gQ2M6IFdpbGwgRGVhY29uIDx3 aWxsQGtlcm5lbC5vcmc+Cj4+IENjOiBNYXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29t Pgo+PiBDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCj4+IENjOiBsaW51 eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCj4+IFRlc3RlZC1ieTogSmFtZXMgQ2xhcmsgPGphbWVz LmNsYXJrQGFybS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEFuc2h1bWFuIEtoYW5kdWFsIDxhbnNo dW1hbi5raGFuZHVhbEBhcm0uY29tPgo+PiAtLS0KPiAKPiBbU05JUF0KPj4gK3ZvaWQgYXJtdjhw bXVfYnJhbmNoX3JlYWQoc3RydWN0IHBtdV9od19ldmVudHMgKmNwdWMsIHN0cnVjdCBwZXJmX2V2 ZW50ICpldmVudCkKPj4gK3sKPj4gKyAgICAgICBzdHJ1Y3QgYnJiZV9od19hdHRyICpicmJlX2F0 dHIgPSAoc3RydWN0IGJyYmVfaHdfYXR0ciAqKWNwdWMtPnBlcmNwdV9wbXUtPnByaXZhdGU7Cj4+ ICsgICAgICAgdTY0IGJyYmZjciwgYnJiY3I7Cj4+ICsgICAgICAgaW50IGlkeCwgbG9vcDFfaWR4 MSwgbG9vcDFfaWR4MiwgbG9vcDJfaWR4MSwgbG9vcDJfaWR4MiwgY291bnQ7Cj4+ICsKPj4gKyAg ICAgICBicmJjciA9IHJlYWRfc3lzcmVnX3MoU1lTX0JSQkNSX0VMMSk7Cj4+ICsgICAgICAgYnJi ZmNyID0gcmVhZF9zeXNyZWdfcyhTWVNfQlJCRkNSX0VMMSk7Cj4+ICsKPj4gKyAgICAgICAvKiBF bnN1cmUgcGF1c2Ugb24gUE1VIGludGVycnVwdCBpcyBlbmFibGVkICovCj4+ICsgICAgICAgV0FS Tl9PTl9PTkNFKCEoYnJiY3IgJiBCUkJDUl9FTDFfRlpQKSk7Cj4+ICsKPj4gKyAgICAgICAvKiBQ YXVzZSB0aGUgYnVmZmVyICovCj4+ICsgICAgICAgd3JpdGVfc3lzcmVnX3MoYnJiZmNyIHwgQlJC RkNSX0VMMV9QQVVTRUQsIFNZU19CUkJGQ1JfRUwxKTsKPj4gKyAgICAgICBpc2IoKTsKPj4gKwo+ PiArICAgICAgIC8qIERldGVybWluZSB0aGUgaW5kaWNlcyBmb3IgZWFjaCBsb29wICovCj4+ICsg ICAgICAgbG9vcDFfaWR4MSA9IEJSQkVfQkFOSzBfSURYX01JTjsKPj4gKyAgICAgICBpZiAoYnJi ZV9hdHRyLT5icmJlX25yIDw9IEJSQkVfQkFOS19NQVhfRU5UUklFUykgewo+PiArICAgICAgICAg ICAgICAgbG9vcDFfaWR4MiA9IGJyYmVfYXR0ci0+YnJiZV9uciAtIDE7Cj4+ICsgICAgICAgICAg ICAgICBsb29wMl9pZHgxID0gQlJCRV9CQU5LMV9JRFhfTUlOOwo+PiArICAgICAgICAgICAgICAg bG9vcDJfaWR4MiA9IEJSQkVfQkFOSzBfSURYX01BWDsKPiAKPiBJcyB0aGlzIHRvIGRpc2FibGUg dGhlIGJhbmsxPyAgTWF5YmUgbmVlZCBhIGNvbW1lbnQuCgpTdXJlLCB3aWxsIGFkZCBhIGNvbW1l bnQuCgo+IAo+IAo+PiArICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICAgICBsb29wMV9p ZHgyID0gQlJCRV9CQU5LMF9JRFhfTUFYOwo+PiArICAgICAgICAgICAgICAgbG9vcDJfaWR4MSA9 IEJSQkVfQkFOSzFfSURYX01JTjsKPj4gKyAgICAgICAgICAgICAgIGxvb3AyX2lkeDIgPSBicmJl X2F0dHItPmJyYmVfbnIgLSAxOwo+PiArICAgICAgIH0KPiAKPiBUaGUgbG9vcDJfaWR4MSBpcyB0 aGUgc2FtZSBmb3IgYm90aCBjYXNlcy4gIE1heWJlIGJldHRlcgo+IHRvIG1vdmUgaXQgb3V0IG9m IHRoZSBpZiBzdGF0ZW1lbnQuCgpTdXJlLCB3aWxsIGRvIHRoZSBmb2xsb3dpbmcgY2hhbmdlIGFz IHN1Z2dlc3RlZCBidXQgd29uZGVyaW5nIHdoZXRoZXIgc2hvdWxkCnRoZSBjaGFuZ2UgYmUgaW1w bGVtZW50ZWQgZnJvbSB0aGlzIHBhdGNoIG9ud2FyZHMgb3IgaW4gdGhlIGxhdGVyIHBhdGNoIHRo YXQKYWRkcyBjYXB0dXJlX2JyYmVfcmVnc2V0KCkuCiAKLS0tIGEvZHJpdmVycy9wZXJmL2FybV9i cmJlLmMKKysrIGIvZHJpdmVycy9wZXJmL2FybV9icmJlLmMKQEAgLTU2LDEzICs1NiwxNCBAQCBz dGF0aWMgaW50IGNhcHR1cmVfYnJiZV9yZWdzZXQoc3RydWN0IGJyYmVfaHdfYXR0ciAqYnJiZV9h dHRyLCBzdHJ1Y3QgYnJiZV9yZWdzZQogICAgICAgIGludCBpZHgsIGNvdW50OwogCiAgICAgICAg bG9vcDFfaWR4MSA9IEJSQkVfQkFOSzBfSURYX01JTjsKKyAgICAgICBsb29wMl9pZHgxID0gQlJC RV9CQU5LMV9JRFhfTUlOOwogICAgICAgIGlmIChicmJlX2F0dHItPmJyYmVfbnIgPD0gQlJCRV9C QU5LX01BWF9FTlRSSUVTKSB7CiAgICAgICAgICAgICAgICBsb29wMV9pZHgyID0gYnJiZV9hdHRy LT5icmJlX25yIC0gMTsKLSAgICAgICAgICAgICAgIGxvb3AyX2lkeDEgPSBCUkJFX0JBTksxX0lE WF9NSU47CisKKyAgICAgICAgICAgICAgIC8qIERpc2FibGUgY2FwdHVyaW5nIHRoZSBiYW5rIDEg Ki8KICAgICAgICAgICAgICAgIGxvb3AyX2lkeDIgPSBCUkJFX0JBTkswX0lEWF9NQVg7CiAgICAg ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGxvb3AxX2lkeDIgPSBCUkJFX0JBTkswX0lEWF9N QVg7Ci0gICAgICAgICAgICAgICBsb29wMl9pZHgxID0gQlJCRV9CQU5LMV9JRFhfTUlOOwogICAg ICAgICAgICAgICAgbG9vcDJfaWR4MiA9IGJyYmVfYXR0ci0+YnJiZV9uciAtIDE7CiAgICAgICAg fQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=