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 7D120C433EF for ; Tue, 21 Dec 2021 14:03:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235373AbhLUODY (ORCPT ); Tue, 21 Dec 2021 09:03:24 -0500 Received: from mga14.intel.com ([192.55.52.115]:50587 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229453AbhLUODX (ORCPT ); Tue, 21 Dec 2021 09:03:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1640095403; x=1671631403; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=ew0G8WM+VTpwrJE101MQQ+KB69Q+us1//I+VQV9XUtY=; b=Ew0MXoC6gbPq7izMH/M3cktA3xiR6L2wHiWxmluOvQNro6emS4sLtqxe FAJYCu3tvOwJuHjW2DicdS8jpRUO8qZD/N7YYxWwT0SwYR7QaaQ2zcayw y29hhejQPiB4OsH4u4gxnJcUuPv3z1MqH9RqfikKYB8bFqh8CKQwCaFDs SHm06aud9GR4LDpweV8TStUzwz1e1ZWB9DiqgS1pvc1ZDA4rBtQBEgFG9 W6El2KepS17G7RWJE56Jyev3buz2tt9lNxTj6OAHtdmnaKm2tjCfCC0Hc idrAofDoI9VHa8cBJPG6LYco4244uDi6ZZ9+nfjGOf+XPq746l+hZlc1+ g==; X-IronPort-AV: E=McAfee;i="6200,9189,10204"; a="240621163" X-IronPort-AV: E=Sophos;i="5.88,223,1635231600"; d="scan'208";a="240621163" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2021 06:03:23 -0800 X-IronPort-AV: E=Sophos;i="5.88,223,1635231600"; d="scan'208";a="684669415" Received: from akleen-mobl1.amr.corp.intel.com (HELO [10.209.20.192]) ([10.209.20.192]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2021 06:03:22 -0800 Message-ID: <12e0deef-08db-445f-4958-bcd5c3e10367@linux.intel.com> Date: Tue, 21 Dec 2021 06:03:15 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; 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: Andrew Kilroy , John Garry , Ian Rogers 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> <5a2e29c1-2c7e-1b55-9192-62060309aeca@arm.com> From: Andi Kleen In-Reply-To: <5a2e29c1-2c7e-1b55-9192-62060309aeca@arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-perf-users@vger.kernel.org On 12/20/2021 9:21 AM, Andrew Kilroy wrote: > > 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. There's also SMT metrics. We don't want to include CoreIPC etc. by default because it would cause multiplexing in common situations. > > 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? We should probably fix the case (or just make the match case insensitive) Can we just keep x86 at using the kernel metrics? On Skylake and earlier it needs different formulas and other options depending whether SMT is on or off, so it's not straight forward to express it as json directly. -Andi 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 2EC59C433F5 for ; Tue, 21 Dec 2021 14:05:03 +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=weGZ84fmKF/R4oBSU3ATlF+OPVFWhG+S00yQmWz+JI8=; b=xsU1gPRSFsNctU UlFhcViEEm7FkVxu0/JysCV2+K9NvDYZoYrSZ59O5rMhBmIvUAD8l+3+EiABBKPmV10/VFUenZLy8 WA5rAGNgsAzxZEw7ziGbr3lb7FREz9knGf5DQpellzGleSPJcbOAM37msZu71YEyYjgVC2s4vWMb8 3U1/JHyxZEmiLzZ34deHZVg1Roa/mpKX3sgqDKEk+vwMxljNEhlCrmnzUjZkp2qHJ/LD9N3xPHoTy 48yd6hobKW2HpH8khvKJauJ1EVoRy7XbKyd1Eh6wp8OYvhbRbkHlHcQbM5XdD2yt4B7/oRcN+9sG7 zSAa/Wb97vdhlvmwfxmg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mzfjl-00741h-GS; Tue, 21 Dec 2021 14:03:29 +0000 Received: from mga12.intel.com ([192.55.52.136]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mzfji-00740p-Hy for linux-arm-kernel@lists.infradead.org; Tue, 21 Dec 2021 14:03:27 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1640095406; x=1671631406; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=ew0G8WM+VTpwrJE101MQQ+KB69Q+us1//I+VQV9XUtY=; b=I7kCK2cVSUlhWwx6XYTKudvdcVlKppXE6izh7iJ2R7xT5dHa/tkl2L34 ryLgGwsjKL/NEG2jKfnSQLx1Fi3L/Uz9ztDnww4mOUwifqWDMksaFMZsG +r2NPFTir0hqOu06dbKMNNVP71rjt9oK0w3ONYZDOz9j4jZStndIREZHn vey2dt8ndhxzjx9K5T7GzGLOMzqCLp9H10a3yIhn91EGo3sAdYkYcv8jm Z8chFIRr8t8vNZJohKkS7un28dC1U+z7oixqcIndliX87Xo+9qE3FLkYT NiF71saEpmMDF04BgabNIspn30c12EKYZ9njce8DzOmySvj0prItBNzvg A==; X-IronPort-AV: E=McAfee;i="6200,9189,10204"; a="220409110" X-IronPort-AV: E=Sophos;i="5.88,223,1635231600"; d="scan'208";a="220409110" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2021 06:03:23 -0800 X-IronPort-AV: E=Sophos;i="5.88,223,1635231600"; d="scan'208";a="684669415" Received: from akleen-mobl1.amr.corp.intel.com (HELO [10.209.20.192]) ([10.209.20.192]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2021 06:03:22 -0800 Message-ID: <12e0deef-08db-445f-4958-bcd5c3e10367@linux.intel.com> Date: Tue, 21 Dec 2021 06:03:15 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; 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: Andrew Kilroy , John Garry , Ian Rogers 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> <5a2e29c1-2c7e-1b55-9192-62060309aeca@arm.com> From: Andi Kleen In-Reply-To: <5a2e29c1-2c7e-1b55-9192-62060309aeca@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211221_060326_661855_6250346F X-CRM114-Status: GOOD ( 21.54 ) 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 Ck9uIDEyLzIwLzIwMjEgOToyMSBBTSwgQW5kcmV3IEtpbHJveSB3cm90ZToKPgo+IE9uIDE1LzEy LzIwMjEgMTA6NTIsIEpvaG4gR2Fycnkgd3JvdGU6Cj4+IEhpIEFuZHJldywKPj4KPj4+PiDCoCBj b25zdCBzdHJ1Y3QgcG11X2V2ZW50ICptZXRyaWNncm91cF9fZmluZF9tZXRyaWMoY29uc3QgY2hh ciAqbWV0cmljLAo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGNvbnN0IHN0cnVjdCAKPj4+PiBwbXVfZXZlbnRzX21hcCAqbWFwKTsKPj4+PiDCoCBpbnQgbWV0 cmljZ3JvdXBfX3BhcnNlX2dyb3Vwc190ZXN0KHN0cnVjdCBldmxpc3QgKmV2bGlzdCwKPj4+PiBk aWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi91dGlsL3RvcGRvd24uYyBiL3Rvb2xzL3BlcmYvdXRpbC90 b3Bkb3duLmMKPj4+PiBpbmRleCAxMDgxYjIwZjk4OTEuLjU3YzBjNWYyYzZiZCAxMDA2NDQKPj4+ PiAtLS0gYS90b29scy9wZXJmL3V0aWwvdG9wZG93bi5jCj4+Pj4gKysrIGIvdG9vbHMvcGVyZi91 dGlsL3RvcGRvd24uYwo+Pj4+IEBAIC01NiwzICs1Niw5IEBAIF9fd2VhayBib29sIGFyY2hfdG9w ZG93bl9zYW1wbGVfcmVhZChzdHJ1Y3QgZXZzZWwgCj4+Pj4gKmxlYWRlciBfX21heWJlX3VudXNl ZCkKPj4+PiDCoCB7Cj4+Pj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmFsc2U7Cj4+Pj4gwqAg fQo+Pj4+ICsKPj4+PiArX193ZWFrIGJvb2wgYXJjaF90b3Bkb3duX3VzZV9qc29uX21ldHJpY3Mo dm9pZCkKPj4+PiArewo+Pgo+PiBBRkFJQ1MsIG9ubHkgeDg2IHN1cHBvcnRzIHRvcGRvd24gdG9k YXkgYW5kIHRoYXQgaXMgYmVjYXVzZSB0aGV5IGhhdmUgCj4+IHNwZWNpYWwga2VybmVsIHRvcGRv d24gZXZlbnRzIGV4cG9zZWQgZm9yIHRoZSBrZXJuZWwgQ1BVIFBNVSBkcml2ZXIuIAo+PiBTbyBv dGhlciBhcmNoaXRlY3R1cmVzIC0gbm90IG9ubHkgYXJtIC0gd291bGQgbmVlZCByZWx5IG9uIAo+ PiBtZXRyaWNncm91cHMgZm9yIHRvcGRvd24gc3VwcG9ydC4gU28gbGV0J3MgbWFrZSB0aGlzIGdl bmVyaWMgZm9yIGFsbCAKPj4gYXJjaHMuCj4+Cj4+PiBJIGxpa2UgdGhpcyBleHRlbnNpb24hIEkn dmUgcmFudGVkIGluIHRoZSBwYXN0IGFib3V0IHdlYWsgc3ltYm9scwo+Pj4gYnJlYWtpbmcgd2l0 aCBhcmNoaXZlcyBkdWUgdG8gbGF6eSBsb2FkaW5nIFsxXS4gSW4gdGhpcyBjYXNlCj4+PiB0b29s cy9wZXJmL2FyY2gvYXJtNjQvdXRpbC90b3Bkb3duLmMgaGFzIG5vIG90aGVyIHN5bWJvbHMgd2l0 aGluIGl0Cj4+PiBhbmQgc28gdGhlIHdlYWsgc3ltYm9sIGhhcyBhbiBleHRyYSBjaGFuY2Ugb2Yg YmVpbmcgbGlua2VkCj4+PiBpbmNvcnJlY3RseS4gV2UgY291bGQgYWRkIGEgbmV3IGNvbW1hbmQg bGluZSBvZiAtLXRvcGRvd24tanNvbiB0bwo+Pj4gYXZvaWQgdGhpcywgYnV0IHRoZXJlIHNlZW1z IGxpdHRsZSBkaWZmZXJlbmNlIGluIGRvaW5nIHRoaXMgb3ZlciBqdXN0Cj4+PiBkb2luZyAnLU0g VG9wRG93bkwxJy4KPj4KPj4KPj4+IElzIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUganNvbiBtZXRy aWMgYXBwcm9hY2gKPj4+IGZvciB3aGVuIHRoZSBDUFUgdmVyc2lvbiBmYWlscz8KPj4KPj4gSSB0 aGluayB0aGF0J3MgYSBnb29kIGlkZWEuCj4+Cj4KPgo+IFdoaWxlIGxvb2tpbmcgaW50byB1c2lu ZyB0aGUganNvbiBtZXRyaWNzIGFwcHJvYWNoIGFzIGEgZmFsbGJhY2sgdG8gCj4gdGhlIG9yaWdp bmFsLCBJIG5vdGljZWTCoCB0aGVyZSBhcmUgdHdvIGpzb24gbWV0cmljZ3JvdXBzICdUb3Bkb3du TDEnIAo+IGFuZCAnVG9wRG93bkwxJyAobm90ZSB0aGUgY2FzZSBkaWZmZXJlbmNlKSBvbiB4ODYu IE5vdCBzdXJlIGlmIHRoZSAKPiBjYXNlIGRpZmZlcmVuY2UgaXMgaW50ZW50aW9uYWwuCj4KPiBP biBza3lsYWtlLCAnVG9wZG93bkwxJyBjb250YWlucyB0aGUgZm91ciBqc29uIG1ldHJpY3MgUmV0 aXJpbmcsIAo+IEJhZF9TcGVjdWxhdGlvbiwgRnJvbnRlbmRfQm91bmQsIGFuZCBCYWNrZW5kX0Jv dW5kLsKgICdUb3BEb3duTDEnIGhhcyAKPiAnU0xPVFMnLCAnQ29yZUlQQycsICdDb3JlSVBDX1NN VCcsICdJbnN0cnVjdGlvbnMnLsKgIEkgdGhpbmsgaXRzIGEgCj4gc2ltaWxhciBzaXR1YXRpb24g b24gb3RoZXIgeDg2IGNoaXBzLgoKClRoZXJlJ3MgYWxzbyBTTVQgbWV0cmljcy4KCgpXZSBkb24n dCB3YW50IHRvIGluY2x1ZGUgQ29yZUlQQyBldGMuIGJ5IGRlZmF1bHQgYmVjYXVzZSBpdCB3b3Vs ZCBjYXVzZSAKbXVsdGlwbGV4aW5nIGluIGNvbW1vbiBzaXR1YXRpb25zLgoKPgo+IFRoZSBzZWFy Y2ggZm9yIHRob3NlIG1ldHJpY3MgYnkgbWV0cmljZ3JvdXAgbmFtZSBpcyBjYXNlIGluc2Vuc2l0 aXZlLCAKPiBzbyBpdCdzIHBpY2tpbmcgdXAgYWxsIDggbWV0cmljcyB3aGVuIHVzaW5nIHRoZSBs b29rdXAgc3RyaW5nIAo+ICdUb3BEb3duTDEnLiDCoFNvIHRoZSBleHRyYSAnU0xPVFMnLCAnQ29y ZUlQQycsICdDb3JlSVBDX1NNVCcsIAo+ICdJbnN0cnVjdGlvbnMnIG1ldHJpY3Mgd291bGQgYmUg cHJpbnRlZCBhcyB3ZWxsLgo+Cj4gTm90IHN1cmUgd2hhdCB0aGUgc2lnbmlmaWNhbmNlIG9mIHRo ZSBjYXNlIGRpZmZlcmVuY2UgbWlnaHQgYmUuCj4KPiBTaG91bGQgd2UgdXNlIGEgZGlmZmVyZW50 IHN0cmluZyB0aGFuICdUb3BEb3duTDEnIGFzIHRoZSBtZXRyaWMgZ3JvdXAgCj4gbmFtZSB0byBz ZWFyY2ggZm9yPwoKCldlIHNob3VsZCBwcm9iYWJseSBmaXggdGhlIGNhc2UgKG9yIGp1c3QgbWFr ZSB0aGUgbWF0Y2ggY2FzZSBpbnNlbnNpdGl2ZSkKCkNhbiB3ZSBqdXN0IGtlZXAgeDg2IGF0IHVz aW5nIHRoZSBrZXJuZWwgbWV0cmljcz8gT24gU2t5bGFrZSBhbmQgZWFybGllciAKaXQgbmVlZHMg ZGlmZmVyZW50IGZvcm11bGFzIGFuZCBvdGhlciBvcHRpb25zIGRlcGVuZGluZyB3aGV0aGVyIFNN VCBpcyAKb24gb3Igb2ZmLCBzbyBpdCdzIG5vdCBzdHJhaWdodCBmb3J3YXJkIHRvIGV4cHJlc3Mg aXQgYXMganNvbiBkaXJlY3RseS4KCgotQW5kaQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK