From patchwork Mon Mar 27 02:46:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 75177 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1239758vqo; Sun, 26 Mar 2023 20:03:32 -0700 (PDT) X-Google-Smtp-Source: AKy350Y3ntdqthlIe5GWXspk7nFIDjVG9qJpdSpMHTgjKn06CTlKcy3MnUOOqZVyJqgo3BwiEYRr X-Received: by 2002:a17:902:cec6:b0:1a1:80ea:4364 with SMTP id d6-20020a170902cec600b001a180ea4364mr13404658plg.31.1679886211914; Sun, 26 Mar 2023 20:03:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679886211; cv=none; d=google.com; s=arc-20160816; b=A2kda8zi5wJkgCB3nl9NYFSfHFglSr2IxTFzEj1NqV20Z5AFBZp2DK38hy/Ew3qKxm VDYmBxi3ueS+T4SIJQUNcqunZpPrECb0V2DNmFs21t9o90kvT9gneobZIwLHG1ifRZDH xY1p0Pquial8O2syDZb+QJugJI3p36kwc31XrXMIKZOskoEzQZ1MqM9de/Jb3v59P538 F5S8jaqqmgkdf6AWtz3Wiwyz5ueDH7fdpSFiDLEXUJH51vuZw7bhnb5aGUFzKk0ORHDb yoVtaG3eB8keBbyZUvDmOBonvKwjv139oJEE9848eUWWoRkZxcCDgQCN8/JQvX5teBlN Es5w== 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=SMj6XemwbojuTBkDCQJuo0PwUTs7fzBbGI8VH7NLtgk=; b=G4lTFQo4nrkxPe4hwNMA0q2ExlXEkS81aUxAxo63Qk/eLl0qTnNl8pvf3ArbgJ0sXb wBmMKzpgzbC5CiS4Nxdzhl4Cbr+zP5aCIa6APwfe5uKIkG8IHwaw7nYN4xioTSNXp7NH D2w8n/PWecUj6T2r/AMIsr5EpybPySRoRu0wLfZWhUAoOeZ01yWk9o2v+JyCRpeMDejR jxGfh0uJONHsbRvuR/p+fiWP5L29NfNqPDdNsCcToKxhy34ONjalr9mb9ixsvhd2nXMO 44GgBA2eeog5T76u0lSUu9T39yN/6ZaRcsjJQejEmt0SDQw5vLM/ozkD8kMWJW47r5nf qZAA== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e23-20020a63db17000000b0050beb3fe626si25729769pgg.13.2023.03.26.20.03.19; Sun, 26 Mar 2023 20:03:31 -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 S229651AbjC0Cqj (ORCPT + 99 others); Sun, 26 Mar 2023 22:46:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57472 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231928AbjC0Cq3 (ORCPT ); Sun, 26 Mar 2023 22:46:29 -0400 Received: from out30-100.freemail.mail.aliyun.com (out30-100.freemail.mail.aliyun.com [115.124.30.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 42A8444BD; Sun, 26 Mar 2023 19:46:27 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R191e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046049;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0VeeqFPR_1679885183; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VeeqFPR_1679885183) by smtp.aliyun-inc.com; Mon, 27 Mar 2023 10:46:24 +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 1/4] driver/perf: Add identifier sysfs file for CMN Date: Mon, 27 Mar 2023 10:46:09 +0800 Message-Id: <1679885172-95021-2-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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761488364642102254?= X-GMAIL-MSGID: =?utf-8?q?1761488364642102254?= To allow userspace to identify the specific implementation of the device, add an "identifier" sysfs file. The perf tool can match the arm CMN metric through the identifier. Signed-off-by: Jing Zhang --- drivers/perf/arm-cmn.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c index c968986..0c138ad 100644 --- a/drivers/perf/arm-cmn.c +++ b/drivers/perf/arm-cmn.c @@ -1168,10 +1168,53 @@ static ssize_t arm_cmn_cpumask_show(struct device *dev, .attrs = arm_cmn_cpumask_attrs, }; +static ssize_t arm_cmn_identifier_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct arm_cmn *cmn = to_cmn(dev_get_drvdata(dev)); + if (cmn->model == CMN700) { + return sysfs_emit(buf, "%s\n", "CMN700"); + } + else if (cmn->model == CMN650) { + return sysfs_emit(buf, "%s\n", "CMN650"); + } + else if (cmn->model == CMN600) { + return sysfs_emit(buf, "%s\n", "CMN600"); + } + else if (cmn->model == CI700) { + return sysfs_emit(buf, "%s\n", "CI700"); + } + return sysfs_emit(buf, "%s\n", "UNKNOWN"); +} + +static umode_t arm_cmn_identifier_attr_visible(struct kobject *kobj, + struct attribute *attr, int n) +{ + struct device *dev = kobj_to_dev(kobj); + struct arm_cmn *cmn = to_cmn(dev_get_drvdata(dev)); + if (cmn->model <= 0) + return 0; + return attr->mode; +}; + +static struct device_attribute arm_cmn_identifier_attr = +__ATTR(identifier, 0444, arm_cmn_identifier_show, NULL); + +static struct attribute *arm_cmn_identifier_attrs[] = { + &arm_cmn_identifier_attr.attr, + NULL, +}; + +static struct attribute_group arm_cmn_identifier_attr_group = { + .attrs = arm_cmn_identifier_attrs, + .is_visible = arm_cmn_identifier_attr_visible, +}; + static const struct attribute_group *arm_cmn_attr_groups[] = { &arm_cmn_event_attrs_group, &arm_cmn_format_attrs_group, &arm_cmn_cpumask_attr_group, + &arm_cmn_identifier_attr_group, NULL }; From patchwork Mon Mar 27 02:46:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 75173 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1235137vqo; Sun, 26 Mar 2023 19:48:25 -0700 (PDT) X-Google-Smtp-Source: AKy350YqH3kSLzzDssRxhpfdsvfjaRI10od0Y56ls9e7z/BcllYuMGkRte5grF5b0mW1kA8T4P7H X-Received: by 2002:a17:907:2145:b0:931:af6a:ad08 with SMTP id rk5-20020a170907214500b00931af6aad08mr11022215ejb.57.1679885304809; Sun, 26 Mar 2023 19:48:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679885304; cv=none; d=google.com; s=arc-20160816; b=W9zeYcc9gqXpuff/JFej+5qWtC2N//kBZnesKh7hs/Zt2ao8dI8ym9ET+dmFBRYkF3 39UvYglgQ6A+vS5qH3APIyV2B0Q4xcu7G7zlg/+O2YNsBTx6Lx6tLkGf8TDcEe6LCYjU ljlpCdRE6iM4R8McGgaz7NOujf57wSJk4UOFpBahB+ZK/BavgQiSjyGfz40duyPXbn77 GAIEBJZGGmdofpv8vswvLwlU0O5TYq0MdtPosm6wmeE0q5M3m2Ttv+s6mhjjhANpkfHi 3IVGsH1N5Wgxfr7m8RqbSx4zjaG7ezRuYDJUqKjw+JB40O3fj9naq9s9Eo9awf35MZuI NH+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=mK3JYhUbJkqbEZAANkjy/2Al+vxRYrXB2xLvQnuO/9A=; b=tDKw7GG4mJwwJiw7ZK668cgSa29VqLbS9gne6fMjEGLafkqdlOUV5osg149K3S3R2o 3fFzbI28HRvW+nI+U7iccyiGNWQgp80FGnPVtrpKYgcmkjmqGtEOn7zNiS35gkK5GIeg wpkMY6pQHfNKpPrxhTJZspmjd42XxWeXAs86hF2J83bxSpnW1GgSt2SaHX3Cv7T33BOE /cw0ShtXkHuypUvHkzSPO5yfPcTo2C8ZpI0jDoQe4IjRlCrB1Jmte7G/wbBdDz/V7jsK ZQFsmQ19Z7U8yM/Of32kNCtUeBdyQnDYbOlyJTsB4m1rRahwYpcZfRb02ZXvIgZyECld PY9Q== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u1-20020a17090657c100b008b17dae0e0dsi22766008ejr.846.2023.03.26.19.48.01; Sun, 26 Mar 2023 19:48:24 -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 S232025AbjC0Cqf (ORCPT + 99 others); Sun, 26 Mar 2023 22:46:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231959AbjC0Cqa (ORCPT ); Sun, 26 Mar 2023 22:46:30 -0400 Received: from out30-111.freemail.mail.aliyun.com (out30-111.freemail.mail.aliyun.com [115.124.30.111]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F1F244B1; Sun, 26 Mar 2023 19:46:28 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R261e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046060;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0VeeqFPn_1679885184; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VeeqFPn_1679885184) by smtp.aliyun-inc.com; Mon, 27 Mar 2023 10:46:25 +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 2/4] perf vendor events: Add JSON metrics for cmn700 Date: Mon, 27 Mar 2023 10:46:10 +0800 Message-Id: <1679885172-95021-3-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> MIME-Version: 1.0 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761487413075565508?= X-GMAIL-MSGID: =?utf-8?q?1761487413075565508?= Add JSON metrics for cmn700. Currently just add part of cmn700 PMU events and metrics which are general and compatible for any SoC. Signed-off-by: Jing Zhang --- .../pmu-events/arch/arm64/arm/cmn700/sys/cmn.json | 188 +++++++++++++++++++++ .../arch/arm64/arm/cmn700/sys/metrics.json | 74 ++++++++ tools/perf/pmu-events/jevents.py | 1 + 3 files changed, 263 insertions(+) create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/cmn.json create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/metrics.json diff --git a/tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/cmn.json b/tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/cmn.json new file mode 100644 index 0000000..a060d1d --- /dev/null +++ b/tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/cmn.json @@ -0,0 +1,188 @@ +[ + { + "EventName": "hnf_cache_miss", + "BriefDescription": "Counts total cache misses in first lookup result (high priority)", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_slc_sf_cache_access", + "BriefDescription": "Counts number of cache accesses in first access (high priority)", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_cache_fill", + "BriefDescription": "Counts total allocations in HN SLC (all cache line allocations to SLC)", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_pocq_retry", + "BriefDescription": "Counts number of retried requests", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_pocq_reqs_recvd", + "BriefDescription": "Counts number of requests that HN receives", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_sf_hit", + "BriefDescription": "Counts number of SF hits", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_sf_evictions", + "BriefDescription": "Counts number of SF eviction cache invalidations initiated", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_dir_snoops_sent", + "BriefDescription": "Counts number of directed snoops sent (not including SF back invalidation)", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_brd_snoops_sent", + "BriefDescription": "Counts number of multicast snoops sent (not including SF back invalidation)", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_mc_retries", + "BriefDescription": "Counts number of retried transactions by the MC", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_mc_reqs", + "BriefDescription": "Counts number of requests that are sent to MC", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hnf_qos_hh_retry", + "BriefDescription": "Counts number of times a HighHigh priority request is protocolretried at the HN‑F", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "rnid_s0_rdata_beats", + "BriefDescription": "Number of RData beats (RVALID and RREADY) dispatched on port 0. This event measures the read bandwidth, including CMO responses.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "rnid_s1_rdata_beats", + "BriefDescription": "Number of RData beats (RVALID and RREADY) dispatched on port 1. This event measures the read bandwidth, including CMO responses.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "rnid_s2_rdata_beats", + "BriefDescription": "Number of RData beats (RVALID and RREADY) dispatched on port 2. This event measures the read bandwidth, including CMO responses.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "rnid_rxdat_flits", + "BriefDescription": "Number of RXDAT flits received. This event measures the true read data bandwidth, excluding CMOs.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "rnid_txdat_flits", + "BriefDescription": "Number of TXDAT flits dispatched. This event measures the write bandwidth.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "rnid_txreq_flits_total", + "BriefDescription": "Number of TXREQ flits dispatched. This event measures the total request bandwidth.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "rnid_txreq_flits_retried", + "BriefDescription": "Number of retried TXREQ flits dispatched. This event measures the retry rate.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "sbsx_txdat_flitv", + "BriefDescription": "Number of TXDAT flits dispatched from XP to SBSX. This event is a measure of the write bandwidth.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "sbsx_txrsp_retryack", + "BriefDescription": "Number of RXREQ flits dispatched. This event is a measure of the retry rate.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "sbsx_arvalid_no_arready", + "BriefDescription": "Number of cycles the SBSX bridge is stalled because of backpressure on AR channel.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "sbsx_awvalid_no_awready", + "BriefDescription": "Number of cycles the SBSX bridge is stalled because of backpressure on AW channel.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "sbsx_wvalid_no_wready", + "BriefDescription": "Number of cycles the SBSX bridge is stalled because of backpressure on W channel.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hni_txdat_stall", + "BriefDescription": "TXDAT valid but no link credit available.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hni_txrsp_retryack", + "BriefDescription": "Number of RXREQ flits dispatched. This event is a measure of the retry rate.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hni_arvalid_no_arready", + "BriefDescription": "Number of cycles the HN-I bridge is stalled because of backpressure on AR channel.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hni_awvalid_no_awready", + "BriefDescription": "Number of cycles the HN-I bridge is stalled because of backpressure on AW channel.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hni_wvalid_no_wready", + "BriefDescription": "Number of cycles the HN-I bridge is stalled because of backpressure on W channel.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hni_arready_no_arvalid", + "BriefDescription": "Number of cycles the AR channel is waiting for new requests from HN-I bridge.", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "EventName": "hni_awready_no_awvalid", + "BriefDescription": "Number of cycles the AW channel is waiting for new requests from HN-I bridge.", + "Unit": "cmn700", + "Compat": "CMN700" + } +] diff --git a/tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/metrics.json b/tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/metrics.json new file mode 100644 index 0000000..430567b --- /dev/null +++ b/tools/perf/pmu-events/arch/arm64/arm/cmn700/sys/metrics.json @@ -0,0 +1,74 @@ +[ + { + "MetricName": "slc_miss_rate", + "BriefDescription": "The system level cache miss rate include.", + "MetricGroup": "cmn700", + "MetricExpr": "hnf_cache_miss / hnf_slc_sf_cache_access", + "ScaleUnit": "100%", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "MetricName": "hnf_message_retry_rate", + "BriefDescription": "HN-F message retry rate indicates whether a lack of credits is causing the bottlenecks.", + "MetricGroup": "cmn700", + "MetricExpr": "hnf_pocq_retry / hnf_pocq_reqs_recvd", + "ScaleUnit": "100%", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "MetricName": "sf_hit_rate", + "BriefDescription": "Snoop filter hit rate can be used to measure the Snoop Filter efficiency.", + "MetricGroup": "cmn700", + "MetricExpr": "hnf_sf_hit / hnf_slc_sf_cache_access", + "ScaleUnit": "100%", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "MetricName": "mc_message_retry_rate", + "BriefDescription": "The memory controller request retries rate indicates whether the memory controller is the bottleneck.", + "MetricGroup": "cmn700", + "MetricExpr": "hnf_mc_retries / hnf_mc_reqs", + "ScaleUnit": "100%", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "MetricName": "rni_actual_read_bandwidth.all", + "BriefDescription": "This event measure the actual bandwidth(MB/sec) that RN-I bridge sends to the interconnect.", + "MetricGroup": "cmn700", + "MetricExpr": "rnid_rxdat_flits * 32 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "MetricName": "rni_actual_write_bandwidth.all", + "BriefDescription": "This event measures the actual write bandwidth(MB/sec) at RN-I bridges.", + "MetricGroup": "cmn700", + "MetricExpr": "rnid_txdat_flits * 32 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "MetricName": "rni_retry_rate", + "BriefDescription": "RN-I bridge retry rate indicates whether the memory controller is the bottleneck.", + "MetricGroup": "cmn700", + "MetricExpr": "rnid_txreq_flits_retried / rnid_txreq_flits_total", + "ScaleUnit": "100%", + "Unit": "cmn700", + "Compat": "CMN700" + }, + { + "MetricName": "sbsx_actual_write_bandwidth.all", + "BriefDescription": "sbsx actual write bandwidth(MB/sec).", + "MetricGroup": "cmn700", + "MetricExpr": "sbsx_txdat_flitv * 32 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "cmn700", + "Compat": "CMN700" + } +] diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py index 2bcd07c..20ed492 100755 --- a/tools/perf/pmu-events/jevents.py +++ b/tools/perf/pmu-events/jevents.py @@ -256,6 +256,7 @@ class JsonEvent: 'DFPMC': 'amd_df', 'cpu_core': 'cpu_core', 'cpu_atom': 'cpu_atom', + 'cmn700': 'cmn700', } return table[unit] if unit in table else f'uncore_{unit.lower()}' From patchwork Mon Mar 27 02:46:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 75175 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1239304vqo; Sun, 26 Mar 2023 20:02:12 -0700 (PDT) X-Google-Smtp-Source: AKy350Yjtk3e909RqVjHuoxpwxUvXlZWZ/hGKg6GjpbQ62/PpjDc+sxcbBgtMfSMG+KJzT1dYIbG X-Received: by 2002:a17:90b:4ac8:b0:23d:3761:6087 with SMTP id mh8-20020a17090b4ac800b0023d37616087mr10336123pjb.1.1679886132200; Sun, 26 Mar 2023 20:02:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679886132; cv=none; d=google.com; s=arc-20160816; b=VQMPkfeSfZNYobN3yORUvd+49iUEhpFIhr3ArIxUHZSJxJBb2FQiovR0ECqi9PT1nV Xt+HM8Unfwjft2F72NxYO8WXzgpZOSmerEQhg/3vIDhn0AEeE1rieGv8oorbN/ai4Uc6 cxfvNQXukBOhBwW43C1/jvScttOHbD6+x7QHqvhdQEMMl6fchjyuQLInGwXa2ws5pPOZ cCK7YLLCdl/VZe7K/QP2vAb033e4a6BVyodwJZ/RxDQ3kW0q3LJi94w6ifeYrAnowAdv Zer5jVfUt+duZ4h1V4Os5j+QJxDnFfCNcrLqW3OdZhEin7RC6TpAEwwQWQHLbfuPvIVE bj5g== 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=CYUekiHgk31QK9H175TxXbxlD2U7JnBoT45ah5H77ME=; b=KBkyvCTW/nkFNykfZDCOaa2kT4OUMNvNdI6JKI42tpQPyC0e/iwaWAB2E7upZfQxqE cPaac9y45rZf8OMIdHOu0/81czlBmOzbVgqrC8gMETRgiJKvsQMpCcIlylaJoMi3Hw1+ uvpIvfMCK8lBUiV6aJ2bK7Ma7lvlAr8gxBfDTPE+GLnqng5KcsgpHrhl+GN5TqDdIR91 80WwDESeQ8UpVRJw+9KicoVJSMceNUGqTye0uv6OIl/EaIVns3MC12zpnTMXAy6327EO n/g5KkuVuIUuXu6N+nGcnX77AE8dyLlyXvD+5RSMoSdU4UWfH57ARKz9y9P99jue0DOu LlQQ== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jx7-20020a170903138700b001a053f3376asi10529036plb.301.2023.03.26.20.01.58; Sun, 26 Mar 2023 20:02:12 -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 S231932AbjC0Cqn (ORCPT + 99 others); Sun, 26 Mar 2023 22:46:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57512 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231960AbjC0Cqa (ORCPT ); Sun, 26 Mar 2023 22:46:30 -0400 Received: from out30-110.freemail.mail.aliyun.com (out30-110.freemail.mail.aliyun.com [115.124.30.110]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BB5A44B5; Sun, 26 Mar 2023 19:46:29 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R101e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046056;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0VeeqFQ2_1679885185; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VeeqFQ2_1679885185) by smtp.aliyun-inc.com; Mon, 27 Mar 2023 10:46:26 +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 3/4] driver/perf: Add identifier sysfs file for Yitian 710 DDR Date: Mon, 27 Mar 2023 10:46:11 +0800 Message-Id: <1679885172-95021-4-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,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761488280553362219?= X-GMAIL-MSGID: =?utf-8?q?1761488280553362219?= To allow userspace to identify the specific implementation of the device, add an "identifier" sysfs file. The perf tool can match the Yitian 710 DDR metric through the identifier. Signed-off-by: Jing Zhang --- drivers/perf/alibaba_uncore_drw_pmu.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c index a7689fe..6639a57 100644 --- a/drivers/perf/alibaba_uncore_drw_pmu.c +++ b/drivers/perf/alibaba_uncore_drw_pmu.c @@ -236,10 +236,37 @@ static ssize_t ali_drw_pmu_cpumask_show(struct device *dev, .attrs = ali_drw_pmu_cpumask_attrs, }; +static ssize_t ali_drw_pmu_identifier_show(struct device *dev, + struct device_attribute *attr, + char *page) +{ + return sysfs_emit(page, "%s\n", "ali_drw_yitian710"); +} + +static umode_t ali_drw_pmu_identifier_attr_visible(struct kobject *kobj, + struct attribute *attr, int n) +{ + return attr->mode; +} + +static struct device_attribute ali_drw_pmu_identifier_attr = + __ATTR(identifier, 0444, ali_drw_pmu_identifier_show, NULL); + +static struct attribute *ali_drw_pmu_identifier_attrs[] = { + &ali_drw_pmu_identifier_attr.attr, + NULL, +}; + +static const struct attribute_group ali_drw_pmu_identifier_attr_group = { + .attrs = ali_drw_pmu_identifier_attrs, + .is_visible = ali_drw_pmu_identifier_attr_visible, +}; + static const struct attribute_group *ali_drw_pmu_attr_groups[] = { &ali_drw_pmu_events_attr_group, &ali_drw_pmu_cpumask_attr_group, &ali_drw_pmu_format_group, + &ali_drw_pmu_identifier_attr_group, NULL, }; From patchwork Mon Mar 27 02:46:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 75174 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1236822vqo; Sun, 26 Mar 2023 19:54:25 -0700 (PDT) X-Google-Smtp-Source: AKy350YccF0pJkFTqfGi4yoO5D9UEUVQ/de1JRXtOYfHW+gJtQgzP+pVwVet5yzXhOTbEe/MNems X-Received: by 2002:a17:903:70b:b0:1a1:ab92:5c6b with SMTP id kk11-20020a170903070b00b001a1ab925c6bmr8018977plb.57.1679885665632; Sun, 26 Mar 2023 19:54:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679885665; cv=none; d=google.com; s=arc-20160816; b=wdMyXEk2ebRS8wd+IhTkl4VW+NajEoJJCgBLha5JKyHUIWX/t/K13m5yJ1/UwHWdac GoI8Vh3fOmyRDfv4nNrEMUhBqDfS4C1wHuFa8XyJJgL+8y2bAygucPeNmt9pmAzZbx83 BjG4FA5M8xSD6sE0QTWVdL17VzScBZRUWzGkRJhuhrPLCbGlnZmFECYqrHLMuCF0QmQn VEyf4qrRKd/AuVYGaocxV2mzueNgJRgEHh3PyvLhwEBrnb+vYsHPxZ7uppcbNuOxmdA2 juFcUoNyzZ6Fkkjd4O/MOwjhhlzuPEuFC+KKHk4M7In4ymhBydfRAQ488UHEUu8jSyuI 9vNQ== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w6-20020a170902e88600b001994a4f9d34si28736515plg.145.2023.03.26.19.54.12; Sun, 26 Mar 2023 19:54:25 -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 S231960AbjC0Cqs (ORCPT + 99 others); Sun, 26 Mar 2023 22:46:48 -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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761487791733317067?= X-GMAIL-MSGID: =?utf-8?q?1761487791733317067?= 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()}'