Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp2271300rwl; Sun, 26 Mar 2023 19:49:00 -0700 (PDT) X-Google-Smtp-Source: AKy350YMMt9+xC8MRSvDZnQTwDJDqz3JwLXSZe8yO+Ut4O2beaTfouB6m+uUirb06MW8+mr8qAhg X-Received: by 2002:a17:906:ca0c:b0:930:1914:88fe with SMTP id jt12-20020a170906ca0c00b00930191488femr10360807ejb.68.1679885340653; Sun, 26 Mar 2023 19:49:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679885340; cv=none; d=google.com; s=arc-20160816; b=RLdxeNVz5NbcCGs7+J9AEE32rMueMOBXEy/7pw+sI9/ijckS53/PLBRvJWFripE2Et AOKcmi0lxHjVjmUIOvNxzkmRdK0qsECmN1YfzZL8NLgsGVrznDHgTv3fxXYAK/6BuntL qiY/yA03MXJGIcsYeLkIAnv9MNOc9nq4Obz1w1/4/cg3EY4/0l1mpVLIlFFHIs7LMkTS I++HiEhwQPrvnoPcqxPMv72kJKZHIXAB7Dd8hf5S2/cnCoXIEU6CwiT68Xo/Aw6/hxUg aTF2qU+R99G8U5e6oqs2Kwv20IGGFOZYWDxnpmFPenwojIKPeeYlSiA39MF7o3TsmBz/ A4Fg== 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=G0iBC4Qpkw0gkdEAzpy1QEDZ553IfntJc9pBkgoqAAw=; b=E+W725JccG/QvNPnDIUCN6VVuflC4BF5+JYKlPN0CpuRfm5vyf9CWg4r9887bxyX56 7aL55uPiZZiY1h3jo31vE0/F/egDk+KMSxNw+06fRY66aqU8+xvRL+wX/7qCs++O4prH 4wkuNn0pMgDTHSVmP03aoxM9b76f2OA0Su5dXxyVYRBQvQEUEKxFbVoNxcVsNVugUtqr t+PlEAm4bDmiNfGjVWhrnuG9YCrlPZbxoa1nOONKlD6QUT+OT0ews+omso1rjQ4Cu2D6 oxFyftlw/tBKJn5G4M9jQ2PfB45V9qbS72UJhAG+etG5lYBoWl0KL+LSHymMuq39rSC+ 5Cyg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t18-20020a17090616d200b0093149d8926csi24194282ejd.335.2023.03.26.19.48.37; Sun, 26 Mar 2023 19:49:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230229AbjC0Cqr (ORCPT + 99 others); Sun, 26 Mar 2023 22:46:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57590 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231979AbjC0Cqc (ORCPT ); Sun, 26 Mar 2023 22:46:32 -0400 Received: from out30-119.freemail.mail.aliyun.com (out30-119.freemail.mail.aliyun.com [115.124.30.119]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3835649CE; Sun, 26 Mar 2023 19:46:30 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R171e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045192;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0VeeqFQN_1679885186; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VeeqFQN_1679885186) by smtp.aliyun-inc.com; Mon, 27 Mar 2023 10:46:27 +0800 From: Jing Zhang To: John Garry , Ian Rogers , Will Deacon , James Clark , Mike Leach , Leo Yan , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Shuai Xue , Zhuo Song , Jing Zhang Subject: [PATCH RFC 4/4] perf vendor events: Add JSON metrics for Yitian 710 DDR Date: Mon, 27 Mar 2023 10:46:12 +0800 Message-Id: <1679885172-95021-5-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1679885172-95021-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1679885172-95021-1-git-send-email-renyu.zj@linux.alibaba.com> X-Spam-Status: No, score=-8.0 required=5.0 tests=ENV_AND_HDR_SPF_MATCH, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add JSON metrics for T-HEAD Yitian 710 SoC DDR. Signed-off-by: Jing Zhang --- .../arm64/freescale/yitian710/sys/ali_drw.json | 373 +++++++++++++++++++++ .../arm64/freescale/yitian710/sys/metrics.json | 20 ++ tools/perf/pmu-events/jevents.py | 1 + 3 files changed, 394 insertions(+) create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/ali_drw.json create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/metrics.json diff --git a/tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/ali_drw.json b/tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/ali_drw.json new file mode 100644 index 0000000..cb8694b --- /dev/null +++ b/tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/ali_drw.json @@ -0,0 +1,373 @@ +[ + { + "BriefDescription": "A Write or Read Op at HIF interface. 64B", + "ConfigCode": "0x0", + "EventName": "hif_rd_or_wr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Write Op at HIF interface. 64B", + "ConfigCode": "0x1", + "EventName": "hif_wr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Read Op at HIF interface. 64B", + "ConfigCode": "0x2", + "EventName": "hif_rd", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Read-Modify-Write Op at HIF interface. 64B", + "ConfigCode": "0x3", + "EventName": "hif_rmw", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A high priority Read at HIF interface. 64B", + "ConfigCode": "0x4", + "EventName": "hif_hi_pri_rd", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A write data cycle at DFI interface (to DRAM)", + "ConfigCode": "0x7", + "EventName": "dfi_wr_data_cycles", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A read data cycle at DFI interface (to DRAM).", + "ConfigCode": "0x8", + "EventName": "dfi_rd_data_cycles", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A high priority read becomes critical.", + "ConfigCode": "0x9", + "EventName": "hpr_xact_when_critical", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A low priority read becomes critical.", + "ConfigCode": "0xA", + "EventName": "lpr_xact_when_critical", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A write becomes critical.", + "ConfigCode": "0xB", + "EventName": "wr_xact_when_critical", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "An Activate (ACT) command to DRAM.", + "ConfigCode": "0xC", + "EventName": "op_is_activate", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Read or Write CAS command to DRAM.", + "ConfigCode": "0xD", + "EventName": "op_is_rd_or_wr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "An ACT command for read to DRAM.", + "ConfigCode": "0xE", + "EventName": "op_is_rd_activate", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Read CAS command to DRAM.", + "ConfigCode": "0xF", + "EventName": "op_is_rd", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Write CAS command to DRAM.", + "ConfigCode": "0x10", + "EventName": "op_is_wr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Masked Write command to DRAM.", + "ConfigCode": "0x11", + "EventName": "op_is_mwr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Precharge (PRE) command to DRAM.", + "ConfigCode": "0x12", + "EventName": "op_is_precharge", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A PRE required by read or write.", + "ConfigCode": "0x13", + "EventName": "precharge_for_rdwr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A PRE required by other conditions.", + "ConfigCode": "0x14", + "EventName": "precharge_for_other", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A read-write turnaround.", + "ConfigCode": "0x15", + "EventName": "rdwr_transitions", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A write combine (merge) in write data buffer.", + "ConfigCode": "0x16", + "EventName": "write_combine", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Write-After-Read hazard.", + "ConfigCode": "0x17", + "EventName": "war_hazard", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Read-After-Write hazard.", + "ConfigCode": "0x18", + "EventName": "raw_hazard", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A Write-After-Write hazard.", + "ConfigCode": "0x19", + "EventName": "waw_hazard", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "Rank0 enters self-refresh (SRE).", + "ConfigCode": "0x1A", + "EventName": "op_is_enter_selfref_rk0", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "Rank1 enters self-refresh (SRE).", + "ConfigCode": "0x1B", + "EventName": "op_is_enter_selfref_rk1", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "Rank2 enters self-refresh (SRE).", + "ConfigCode": "0x1C", + "EventName": "op_is_enter_selfref_rk2", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "Rank3 enters self-refresh (SRE).", + "ConfigCode": "0x1D", + "EventName": "op_is_enter_selfref_rk3", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "Rank0 enters power-down (PDE).", + "ConfigCode": "0x1E", + "EventName": "op_is_enter_powerdown_rk0", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "Rank1 enters power-down (PDE).", + "ConfigCode": "0x1F", + "EventName": "op_is_enter_powerdown_rk1", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "Rank2 enters power-down (PDE).", + "ConfigCode": "0x20", + "EventName": "op_is_enter_powerdown_rk2", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "Rank3 enters power-down (PDE).", + "ConfigCode": "0x21", + "EventName": "op_is_enter_powerdown_rk3", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A cycle that Rank0 stays in self-refresh mode.", + "ConfigCode": "0x26", + "EventName": "selfref_mode_rk0", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A cycle that Rank1 stays in self-refresh mode.", + "ConfigCode": "0x27", + "EventName": "selfref_mode_rk1", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A cycle that Rank2 stays in self-refresh mode.", + "ConfigCode": "0x28", + "EventName": "selfref_mode_rk2", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A cycle that Rank3 stays in self-refresh mode.", + "ConfigCode": "0x29", + "EventName": "selfref_mode_rk3", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "An auto-refresh (REF) command to DRAM.", + "ConfigCode": "0x2A", + "EventName": "op_is_refresh", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A critical REF command to DRAM.", + "ConfigCode": "0x2B", + "EventName": "op_is_crit_ref", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "An MRR or MRW command to DRAM.", + "ConfigCode": "0x2D", + "EventName": "op_is_load_mode", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A ZQCal command to DRAM.", + "ConfigCode": "0x2E", + "EventName": "op_is_zqcl", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "At least one entry in read queue reaches the visible window limit.", + "ConfigCode": "0x30", + "EventName": "visible_window_limit_reached_rd", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "At least one entry in write queue reaches the visible window limit.", + "ConfigCode": "0x31", + "EventName": "visible_window_limit_reached_wr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A DQS Oscillator MPC command to DRAM.", + "ConfigCode": "0x34", + "EventName": "op_is_dqsosc_mpc", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A DQS Oscillator MRR command to DRAM.", + "ConfigCode": "0x35", + "EventName": "op_is_dqsosc_mrr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A TCR (Temperature Compensated Refresh) MRR command to DRAM.", + "ConfigCode": "0x36", + "EventName": "op_is_tcr_mrr", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A ZQCal Start command to DRAM.", + "ConfigCode": "0x37", + "EventName": "op_is_zqstart", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A ZQCal Latch command to DRAM.", + "ConfigCode": "0x38", + "EventName": "op_is_zqlatch", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A packet at CHI TXREQ interface (request).", + "ConfigCode": "0x39", + "EventName": "chi_txreq", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A packet at CHI TXDAT interface (read data).", + "ConfigCode": "0x3A", + "EventName": "chi_txdat", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A packet at CHI RXDAT interface (write data).", + "ConfigCode": "0x3B", + "EventName": "chi_rxdat", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A packet at CHI RXRSP interface.", + "ConfigCode": "0x3C", + "EventName": "chi_rxrsp", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "A violation detected in TZC.", + "ConfigCode": "0x3D", + "EventName": "tsz_vio", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "BriefDescription": "The ddr cycle.", + "ConfigCode": "0x80", + "EventName": "cycle", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + } +] diff --git a/tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/metrics.json b/tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/metrics.json new file mode 100644 index 0000000..c14ecac --- /dev/null +++ b/tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/metrics.json @@ -0,0 +1,20 @@ +[ + { + "MetricName": "ddr_read_bandwidth.all", + "BriefDescription": "The ddr read bandwidth(MB/s).", + "MetricGroup": "ddr", + "MetricExpr": "hif_rd * 64 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + }, + { + "MetricName": "ddr_write_bandwidth.all", + "BriefDescription": "The ddr write bandwidth(MB/s).", + "MetricGroup": "ddr", + "MetricExpr": "(hif_wr + hif_rmw) * 64 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "yitian710_ddr", + "Compat": "ali_drw_yitian710" + } +] diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py index 20ed492..8cfb4b6 100755 --- a/tools/perf/pmu-events/jevents.py +++ b/tools/perf/pmu-events/jevents.py @@ -257,6 +257,7 @@ class JsonEvent: 'cpu_core': 'cpu_core', 'cpu_atom': 'cpu_atom', 'cmn700': 'cmn700', + 'yitian710_ddr': 'yitian710_ddr', } return table[unit] if unit in table else f'uncore_{unit.lower()}' -- 1.8.3.1