Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp129723pxb; Wed, 6 Oct 2021 01:13:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy06d3eB0ni/IsiYJQ16wgd4ruTmnYH1CELszv2DeL1rP4VvRCqinnbK4rj2VuxMWLEeC2Y X-Received: by 2002:a17:906:2294:: with SMTP id p20mr22394142eja.224.1633508001686; Wed, 06 Oct 2021 01:13:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633508001; cv=none; d=google.com; s=arc-20160816; b=oHRKvCs+HCDh1eV2tHfDGyjJPGDLCPDcKp8wLQHseBE9qWu/FxsO2diL4ymrm9F9Ei +aKzhCLvigddtVpW8E2wAt75F2y6bS4Ee/nwwMi7ssVuz22xOfswVgZswhe23IaZEJYH zQc4NTiw0oNkxIY6Y7657qNeOOZghPkLGU6VuuxLggImpJoO+FzmNb7I7kIoPlBpjYrb L6NLT0sk6c7Mrsl4WqTVYPEirBI08Sv0ZPjKFYAbUd7XXrhUYn6oKRcSSP8QvYyh0UTa M/7Btkjs8yCkqNYtI3LTbpYgvzjnXMs7nK6RMoIfNXbVzIoKL3pVtidvIbcaIDgVjBfN Lm7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=GcTsOj90u1UbBSt9lAi/JmpBdgg1RyBj12ioPNS+ezc=; b=wianr7orrr+a8Xw0LAQqQqrlO5aRzlfT00G3CbdhvVU4I9cuBla/eBDPFuJBGuU+Nv kQvmBztJxMTSxH92I3nVl1WpnjnZp8yKxIlpJeX7Up+U1DzIs49bvL6wBOT9QU8zPkJJ Wi4uV5jzHHGlzIdWS5ndOOulIxy6cbymlTpHUSPUhRn9MsAgSDbz7o1x45lVyZNMpSa6 Uq2Yp0QAzhHdcScN2k859V/AFSAoWADmBCRe5zL57MnP/PU46UFKG8fJ0mjTKSzY9cZf yW72svS5DVscWKEsIWbA/GbqrIFPuc3kn9+KqtJpROMoz1uHCpItQaaeUJcyY7J7OuVd Z29g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o15si33631092ejy.778.2021.10.06.01.12.55; Wed, 06 Oct 2021 01:13:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237695AbhJFIN1 (ORCPT + 99 others); Wed, 6 Oct 2021 04:13:27 -0400 Received: from foss.arm.com ([217.140.110.172]:56852 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237411AbhJFINY (ORCPT ); Wed, 6 Oct 2021 04:13:24 -0400 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 A3FC1ED1; Wed, 6 Oct 2021 01:11:32 -0700 (PDT) Received: from ubuntu-18-04-aarch64-spe-2.warwick.arm.com (ubuntu-18-04-aarch64-spe-2.warwick.arm.com [10.32.33.30]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CD91A3F766; Wed, 6 Oct 2021 01:11:30 -0700 (PDT) From: Andrew Kilroy To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, acme@kernel.org Cc: Andrew Kilroy , John Garry , Will Deacon , Mathieu Poirier , Leo Yan , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 2/3] perf vendor events: Add new armv8 pmu events Date: Wed, 6 Oct 2021 09:11:04 +0100 Message-Id: <20211006081106.8649-2-andrew.kilroy@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211006081106.8649-1-andrew.kilroy@arm.com> References: <20211006081106.8649-1-andrew.kilroy@arm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add new armv8 common events for use by Arm Neoverse V1 cores in a later commit. These are defined in the ArmV8 architecture reference manual available from https://developer.arm.com/documentation/ddi0487/gb/?lang=en Signed-off-by: Andrew Kilroy --- .../arm64/armv8-common-and-microarch.json | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/tools/perf/pmu-events/arch/arm64/armv8-common-and-microarch.json b/tools/perf/pmu-events/arch/arm64/armv8-common-and-microarch.json index 913fb200ea52..423767510aff 100644 --- a/tools/perf/pmu-events/arch/arm64/armv8-common-and-microarch.json +++ b/tools/perf/pmu-events/arch/arm64/armv8-common-and-microarch.json @@ -257,6 +257,78 @@ "EventName": "LL_CACHE_MISS_RD", "BriefDescription": "Last level cache miss, read" }, + { + "PublicDescription": "Level 1 data cache long-latency read miss. The counter counts each memory read access counted by L1D_CACHE that incurs additional latency because it returns data from outside the Level 1 data or unified cache of this processing element.", + "EventCode": "0x39", + "EventName": "L1D_CACHE_LMISS_RD", + "BriefDescription": "Level 1 data cache long-latency read miss" + }, + { + "PublicDescription": "Micro-operation architecturally executed. The counter counts each operation counted by OP_SPEC that would be executed in a simple sequential execution of the program.", + "EventCode": "0x3A", + "EventName": "OP_RETIRED", + "BriefDescription": "Micro-operation architecturally executed" + }, + { + "PublicDescription": "Micro-operation speculatively executed. The counter counts the number of operations executed by the processing element, including those that are executed speculatively and would not be executed in a simple sequential execution of the program.", + "EventCode": "0x3B", + "EventName": "OP_SPEC", + "BriefDescription": "Micro-operation speculatively executed" + }, + { + "PublicDescription": "No operation sent for execution. The counter counts every attributable cycle on which no attributable instruction or operation was sent for execution on this processing element.", + "EventCode": "0x3C", + "EventName": "STALL", + "BriefDescription": "No operation sent for execution" + }, + { + "PublicDescription": "No operation sent for execution on a slot due to the backend. Counts each slot counted by STALL_SLOT where no attributable instruction or operation was sent for execution because the backend is unable to accept it.", + "EventCode": "0x3D", + "EventName": "STALL_SLOT_BACKEND", + "BriefDescription": "No operation sent for execution on a slot due to the backend" + }, + { + "PublicDescription": "No operation sent for execution on a slot due to the frontend. Counts each slot counted by STALL_SLOT where no attributable instruction or operation was sent for execution because there was no attributable instruction or operation available to issue from the processing element from the frontend for the slot.", + "EventCode": "0x3E", + "EventName": "STALL_SLOT_FRONTEND", + "BriefDescription": "No operation sent for execution on a slot due to the frontend" + }, + { + "PublicDescription": "No operation sent for execution on a slot. The counter counts on each attributable cycle the number of instruction or operation slots that were not occupied by an instruction or operation attributable to the processing element.", + "EventCode": "0x3F", + "EventName": "STALL_SLOT", + "BriefDescription": "No operation sent for execution on a slot" + }, + { + "PublicDescription": "Constant frequency cycles. The counter increments at a constant frequency equal to the rate of increment of the system counter, CNTPCT_EL0.", + "EventCode": "0x4004", + "EventName": "CNT_CYCLES", + "BriefDescription": "Constant frequency cycles" + }, + { + "PublicDescription": "Memory stall cycles. The counter counts each cycle counted by STALL_BACKEND where there is a cache miss in the last level of cache within the processing element clock domain", + "EventCode": "0x4005", + "EventName": "STALL_BACKEND_MEM", + "BriefDescription": "Memory stall cycles" + }, + { + "PublicDescription": "Level 1 instruction cache long-latency read miss. If the L1I_CACHE_RD event is implemented, the counter counts each access counted by L1I_CACHE_RD that incurs additional latency because it returns instructions from outside of the Level 1 instruction cache of this PE. If the L1I_CACHE_RD event is not implemented, the counter counts each access counted by L1I_CACHE that incurs additional latency because it returns instructions from outside the Level 1 instruction cache of this PE. The event indicates to software that the access missed in the Level 1 instruction cache and might have a significant performance impact due to the additional latency, compared to the latency of an access that hits in the Level 1 instruction cache.", + "EventCode": "0x4006", + "EventName": "L1I_CACHE_LMISS", + "BriefDescription": "Level 1 instruction cache long-latency read miss" + }, + { + "PublicDescription": "Level 2 data cache long-latency read miss. The counter counts each memory read access counted by L2D_CACHE that incurs additional latency because it returns data from outside the Level 2 data or unified cache of this processing element. The event indicates to software that the access missed in the Level 2 data or unified cache and might have a significant performance impact compared to the latency of an access that hits in the Level 2 data or unified cache.", + "EventCode": "0x4009", + "EventName": "L2D_CACHE_LMISS_RD", + "BriefDescription": "Level 2 data cache long-latency read miss" + }, + { + "PublicDescription": "Level 3 data cache long-latency read miss. The counter counts each memory read access counted by L3D_CACHE that incurs additional latency because it returns data from outside the Level 3 data or unified cache of this processing element. The event indicates to software that the access missed in the Level 3 data or unified cache and might have a significant performance impact compared to the latency of an access that hits in the Level 3 data or unified cache.", + "EventCode": "0x400B", + "EventName": "L3D_CACHE_LMISS_RD", + "BriefDescription": "Level 3 data cache long-latency read miss" + }, { "PublicDescription": "SIMD Instruction architecturally executed.", "EventCode": "0x8000", -- 2.17.1