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 CA66EC433F5 for ; Mon, 20 Dec 2021 17:21:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240179AbhLTRVq (ORCPT ); Mon, 20 Dec 2021 12:21:46 -0500 Received: from foss.arm.com ([217.140.110.172]:59992 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240079AbhLTRVo (ORCPT ); Mon, 20 Dec 2021 12:21:44 -0500 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 18596D6E; Mon, 20 Dec 2021 09:21:44 -0800 (PST) Received: from [10.57.36.61] (unknown [10.57.36.61]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E2AE63F774; Mon, 20 Dec 2021 09:21:41 -0800 (PST) Message-ID: <5a2e29c1-2c7e-1b55-9192-62060309aeca@arm.com> Date: Mon, 20 Dec 2021 17:21:30 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: Re: [RFC PATCH 1/1] perf arm64: Implement --topdown with metrics Content-Language: en-US To: John Garry , Ian Rogers , Andi Kleen Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, acme@kernel.org, Will Deacon , Mathieu Poirier , Leo Yan , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-arm-kernel@lists.infradead.org References: <4c375d34-bf20-496d-22fc-aed8597126e2@huawei.com> <20211214184240.24215-1-andrew.kilroy@arm.com> <20211214184240.24215-2-andrew.kilroy@arm.com> From: Andrew Kilroy In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 15/12/2021 10:52, John Garry wrote: > Hi Andrew, > >>>   const struct pmu_event *metricgroup__find_metric(const char *metric, >>>                                                   const struct >>> pmu_events_map *map); >>>   int metricgroup__parse_groups_test(struct evlist *evlist, >>> diff --git a/tools/perf/util/topdown.c b/tools/perf/util/topdown.c >>> index 1081b20f9891..57c0c5f2c6bd 100644 >>> --- a/tools/perf/util/topdown.c >>> +++ b/tools/perf/util/topdown.c >>> @@ -56,3 +56,9 @@ __weak bool arch_topdown_sample_read(struct evsel >>> *leader __maybe_unused) >>>   { >>>          return false; >>>   } >>> + >>> +__weak bool arch_topdown_use_json_metrics(void) >>> +{ > > AFAICS, only x86 supports topdown today and that is because they have > special kernel topdown events exposed for the kernel CPU PMU driver. So > other architectures - not only arm - would need rely on metricgroups for > topdown support. So let's make this generic for all archs. > >> I like this extension! I've ranted in the past about weak symbols >> breaking with archives due to lazy loading [1]. In this case >> tools/perf/arch/arm64/util/topdown.c has no other symbols within it >> and so the weak symbol has an extra chance of being linked >> incorrectly. We could add a new command line of --topdown-json to >> avoid this, but there seems little difference in doing this over just >> doing '-M TopDownL1'. > > >> Is it possible to use the json metric approach >> for when the CPU version fails? > > I think that's a good idea. > While looking into using the json metrics approach as a fallback to the original, I noticed there are two json metricgroups 'TopdownL1' and 'TopDownL1' (note the case difference) on x86. Not sure if the case difference is intentional. On skylake, 'TopdownL1' contains the four json metrics Retiring, Bad_Speculation, Frontend_Bound, and Backend_Bound. 'TopDownL1' has 'SLOTS', 'CoreIPC', 'CoreIPC_SMT', 'Instructions'. I think its a similar situation on other x86 chips. The search for those metrics by metricgroup name is case insensitive, so it's picking up all 8 metrics when using the lookup string 'TopDownL1'. So the extra 'SLOTS', 'CoreIPC', 'CoreIPC_SMT', 'Instructions' metrics would be printed as well. Not sure what the significance of the case difference might be. Should we use a different string than 'TopDownL1' as the metric group name to search for? Andrew 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 DA265C433EF for ; Mon, 20 Dec 2021 17:23:04 +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-Type: Content-Transfer-Encoding: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=CUSx1SFI76IsdhnVZ/IU/FPSTSEC7TtFhcAsloe4sAw=; b=tIYUL70vtgxX7P N4e79V7f3ujuCNRxmTRPkZ7TB1mu8MR0TxVynpOYD4PrrqTqmfZ9DJc3teezIEqNhTATwYSw8VXCO SoGZi5ESIwm9oUMAON3wFwMoErcvCDIS+v3Zgs4uu84wS47/ZziJhYtZ49C8BVzhsuRVPnB8jXDBZ +3FPkZevEWaBbXnoSu0nys87rw6gP38rti9Gg/u0RiNYuqyh6IrXkXv84YAr6aZ/eqeXTrZ0IE//C tgQY4j+5gMRbKi5MUFbzx7d5JgBUnF6OiskorqRoYz+1frZviieYRSHNjHxk+LUV72IZZ0QdpBbJz 6JpLbR55UFHNq7yobs4w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mzMMA-003YJL-SH; Mon, 20 Dec 2021 17:21:51 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mzMM6-003YHH-SV for linux-arm-kernel@lists.infradead.org; Mon, 20 Dec 2021 17:21:48 +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 18596D6E; Mon, 20 Dec 2021 09:21:44 -0800 (PST) Received: from [10.57.36.61] (unknown [10.57.36.61]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E2AE63F774; Mon, 20 Dec 2021 09:21:41 -0800 (PST) Message-ID: <5a2e29c1-2c7e-1b55-9192-62060309aeca@arm.com> Date: Mon, 20 Dec 2021 17:21:30 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: Re: [RFC PATCH 1/1] perf arm64: Implement --topdown with metrics Content-Language: en-US To: John Garry , Ian Rogers , Andi Kleen Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, acme@kernel.org, Will Deacon , Mathieu Poirier , Leo Yan , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-arm-kernel@lists.infradead.org References: <4c375d34-bf20-496d-22fc-aed8597126e2@huawei.com> <20211214184240.24215-1-andrew.kilroy@arm.com> <20211214184240.24215-2-andrew.kilroy@arm.com> From: Andrew Kilroy In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211220_092147_059680_D5669188 X-CRM114-Status: GOOD ( 18.24 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ck9uIDE1LzEyLzIwMjEgMTA6NTIsIEpvaG4gR2Fycnkgd3JvdGU6Cj4gSGkgQW5kcmV3LAo+IAo+ Pj4gwqAgY29uc3Qgc3RydWN0IHBtdV9ldmVudCAqbWV0cmljZ3JvdXBfX2ZpbmRfbWV0cmljKGNv bnN0IGNoYXIgKm1ldHJpYywKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGNvbnN0IHN0cnVjdCAKPj4+IHBtdV9ldmVudHNfbWFwICptYXApOwo+Pj4gwqAgaW50 IG1ldHJpY2dyb3VwX19wYXJzZV9ncm91cHNfdGVzdChzdHJ1Y3QgZXZsaXN0ICpldmxpc3QsCj4+ PiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi91dGlsL3RvcGRvd24uYyBiL3Rvb2xzL3BlcmYvdXRp bC90b3Bkb3duLmMKPj4+IGluZGV4IDEwODFiMjBmOTg5MS4uNTdjMGM1ZjJjNmJkIDEwMDY0NAo+ Pj4gLS0tIGEvdG9vbHMvcGVyZi91dGlsL3RvcGRvd24uYwo+Pj4gKysrIGIvdG9vbHMvcGVyZi91 dGlsL3RvcGRvd24uYwo+Pj4gQEAgLTU2LDMgKzU2LDkgQEAgX193ZWFrIGJvb2wgYXJjaF90b3Bk b3duX3NhbXBsZV9yZWFkKHN0cnVjdCBldnNlbCAKPj4+ICpsZWFkZXIgX19tYXliZV91bnVzZWQp Cj4+PiDCoCB7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsKPj4+IMKgIH0KPj4+ ICsKPj4+ICtfX3dlYWsgYm9vbCBhcmNoX3RvcGRvd25fdXNlX2pzb25fbWV0cmljcyh2b2lkKQo+ Pj4gK3sKPiAKPiBBRkFJQ1MsIG9ubHkgeDg2IHN1cHBvcnRzIHRvcGRvd24gdG9kYXkgYW5kIHRo YXQgaXMgYmVjYXVzZSB0aGV5IGhhdmUgCj4gc3BlY2lhbCBrZXJuZWwgdG9wZG93biBldmVudHMg ZXhwb3NlZCBmb3IgdGhlIGtlcm5lbCBDUFUgUE1VIGRyaXZlci4gU28gCj4gb3RoZXIgYXJjaGl0 ZWN0dXJlcyAtIG5vdCBvbmx5IGFybSAtIHdvdWxkIG5lZWQgcmVseSBvbiBtZXRyaWNncm91cHMg Zm9yIAo+IHRvcGRvd24gc3VwcG9ydC4gU28gbGV0J3MgbWFrZSB0aGlzIGdlbmVyaWMgZm9yIGFs bCBhcmNocy4KPiAKPj4gSSBsaWtlIHRoaXMgZXh0ZW5zaW9uISBJJ3ZlIHJhbnRlZCBpbiB0aGUg cGFzdCBhYm91dCB3ZWFrIHN5bWJvbHMKPj4gYnJlYWtpbmcgd2l0aCBhcmNoaXZlcyBkdWUgdG8g bGF6eSBsb2FkaW5nIFsxXS4gSW4gdGhpcyBjYXNlCj4+IHRvb2xzL3BlcmYvYXJjaC9hcm02NC91 dGlsL3RvcGRvd24uYyBoYXMgbm8gb3RoZXIgc3ltYm9scyB3aXRoaW4gaXQKPj4gYW5kIHNvIHRo ZSB3ZWFrIHN5bWJvbCBoYXMgYW4gZXh0cmEgY2hhbmNlIG9mIGJlaW5nIGxpbmtlZAo+PiBpbmNv cnJlY3RseS4gV2UgY291bGQgYWRkIGEgbmV3IGNvbW1hbmQgbGluZSBvZiAtLXRvcGRvd24tanNv biB0bwo+PiBhdm9pZCB0aGlzLCBidXQgdGhlcmUgc2VlbXMgbGl0dGxlIGRpZmZlcmVuY2UgaW4g ZG9pbmcgdGhpcyBvdmVyIGp1c3QKPj4gZG9pbmcgJy1NIFRvcERvd25MMScuCj4gCj4gCj4+IElz IGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUganNvbiBtZXRyaWMgYXBwcm9hY2gKPj4gZm9yIHdoZW4g dGhlIENQVSB2ZXJzaW9uIGZhaWxzPwo+IAo+IEkgdGhpbmsgdGhhdCdzIGEgZ29vZCBpZGVhLgo+ IAoKCldoaWxlIGxvb2tpbmcgaW50byB1c2luZyB0aGUganNvbiBtZXRyaWNzIGFwcHJvYWNoIGFz IGEgZmFsbGJhY2sgdG8gdGhlIApvcmlnaW5hbCwgSSBub3RpY2VkICB0aGVyZSBhcmUgdHdvIGpz b24gbWV0cmljZ3JvdXBzICdUb3Bkb3duTDEnIGFuZCAKJ1RvcERvd25MMScgKG5vdGUgdGhlIGNh c2UgZGlmZmVyZW5jZSkgb24geDg2LiAgTm90IHN1cmUgaWYgdGhlIGNhc2UgCmRpZmZlcmVuY2Ug aXMgaW50ZW50aW9uYWwuCgpPbiBza3lsYWtlLCAnVG9wZG93bkwxJyBjb250YWlucyB0aGUgZm91 ciBqc29uIG1ldHJpY3MgUmV0aXJpbmcsIApCYWRfU3BlY3VsYXRpb24sIEZyb250ZW5kX0JvdW5k LCBhbmQgQmFja2VuZF9Cb3VuZC4gICdUb3BEb3duTDEnIGhhcyAKJ1NMT1RTJywgJ0NvcmVJUEMn LCAnQ29yZUlQQ19TTVQnLCAnSW5zdHJ1Y3Rpb25zJy4gIEkgdGhpbmsgaXRzIGEgCnNpbWlsYXIg c2l0dWF0aW9uIG9uIG90aGVyIHg4NiBjaGlwcy4KClRoZSBzZWFyY2ggZm9yIHRob3NlIG1ldHJp Y3MgYnkgbWV0cmljZ3JvdXAgbmFtZSBpcyBjYXNlIGluc2Vuc2l0aXZlLCBzbyAKaXQncyBwaWNr aW5nIHVwIGFsbCA4IG1ldHJpY3Mgd2hlbiB1c2luZyB0aGUgbG9va3VwIHN0cmluZyAnVG9wRG93 bkwxJy4gCiAgU28gdGhlIGV4dHJhICdTTE9UUycsICdDb3JlSVBDJywgJ0NvcmVJUENfU01UJywg J0luc3RydWN0aW9ucycgbWV0cmljcyAKd291bGQgYmUgcHJpbnRlZCBhcyB3ZWxsLgoKTm90IHN1 cmUgd2hhdCB0aGUgc2lnbmlmaWNhbmNlIG9mIHRoZSBjYXNlIGRpZmZlcmVuY2UgbWlnaHQgYmUu CgpTaG91bGQgd2UgdXNlIGEgZGlmZmVyZW50IHN0cmluZyB0aGFuICdUb3BEb3duTDEnIGFzIHRo ZSBtZXRyaWMgZ3JvdXAgCm5hbWUgdG8gc2VhcmNoIGZvcj8KCgpBbmRyZXcKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFp bGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK