From patchwork Tue May 30 09:19:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 100681 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2047817vqr; Tue, 30 May 2023 02:27:00 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ41rGXXgePWv/uFVejebdPkTAdlCFGT0K0SrUySBFrHvpH7aK5sADXhMImPKt9pn0gRuVkO X-Received: by 2002:a05:6a20:8e2a:b0:10f:bb1:ca50 with SMTP id y42-20020a056a208e2a00b0010f0bb1ca50mr2096313pzj.10.1685438820455; Tue, 30 May 2023 02:27:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685438820; cv=none; d=google.com; s=arc-20160816; b=qUkZ5dWNbKwDPZU0zu5oQTpWCcL9ybQKslTbx6ImKyFuR+VBylWYNBcQwb83X5kfiU SQUzz446gGG2DdyUANgK+k+/ayPgdKudQa3xnLdlGP96bKHjttFiCfUag22GWYnEJ6Ov TfXCBvhLr75kP1tH35UVA6jIfcFs6O5O+fd1QD37r8s+r00GdCUyeAxtU/weLkNTsR8J 08LiwnOVy0O7EQkwOInWo9IyVKaJJNJAmQ7RfFEtskjKenQXNw0pidmZzBd3jJsqFpIS 8f8XKhP2BJlWKmNcJDACrOw1uuvl2HwMAxwhVyCNbLYgdoKK75CDtAvbph9KRlIdnnIA qvgA== 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=xRAGNznj5n79LXxZ5uzS8BFncMmof0RCgdd3yj89xWo=; b=O54iNNBK2/eQla/NzP7HcefQ/sPdNNTU5lm2Al/yZoa4olTof/voxEUlf/PoTZiCs7 tDunDUotwgkBZqjSNg8CLmPpsAbogs/jwBzw36sU5Yh89a1sPDfzPs/ciK5gjLEAp8ZY RgJnHRqsNR0x2xNA+gc8Qs+h1IfLVJP1EiYYBdVh15urChmyS9tVT9q7u+UPqc3TdQJV YzIdwdyRbAI/J62CLSiYxLCuTFtccEEbMfZwSHDy1g42hDusgBbUVVMLoBsa5RK8DgO0 D4fPJiWmszu6alCv8dFsjWNjIEzha2FsJNkN1MbrnMr9IFfzid87fiuQyOh7CCQaTSVn wpsQ== 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 g66-20020a636b45000000b0053b8f80c65esi5654749pgc.730.2023.05.30.02.26.48; Tue, 30 May 2023 02:27: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 S230468AbjE3JUZ (ORCPT + 99 others); Tue, 30 May 2023 05:20:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38368 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230414AbjE3JUH (ORCPT ); Tue, 30 May 2023 05:20:07 -0400 Received: from out30-130.freemail.mail.aliyun.com (out30-130.freemail.mail.aliyun.com [115.124.30.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 630241BF; Tue, 30 May 2023 02:19:46 -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=ay29a033018046059;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=19;SR=0;TI=SMTPD_---0Vjt6o.G_1685438381; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0Vjt6o.G_1685438381) by smtp.aliyun-inc.com; Tue, 30 May 2023 17:19:41 +0800 From: Jing Zhang To: John Garry , Ian Rogers , Will Deacon , Shuai Xue , Robin Murphy Cc: James Clark , Mike Leach , Leo Yan , Mark Rutland , Ilkka Koskinen , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Zhuo Song , Jing Zhang Subject: [PATCH v3 1/7] driver/perf: Add identifier sysfs file for CMN Date: Tue, 30 May 2023 17:19:28 +0800 Message-Id: <1685438374-33287-2-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham 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?1767310696565155288?= X-GMAIL-MSGID: =?utf-8?q?1767310696565155288?= To allow userspace to identify the specific implementation of the device, add an "identifier" sysfs file. The "identifier" consists of model name and revision. One of possible identifier is "arm_cmn700_0". The perf tool can match the arm CMN metric through the identifier. Signed-off-by: Jing Zhang --- drivers/perf/arm-cmn.c | 79 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 71 insertions(+), 8 deletions(-) diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c index c968986..cd6962b 100644 --- a/drivers/perf/arm-cmn.c +++ b/drivers/perf/arm-cmn.c @@ -334,6 +334,7 @@ struct arm_cmn { struct pmu pmu; struct dentry *debug; + const char *identifier; }; #define to_cmn(p) container_of(p, struct arm_cmn, pmu) @@ -347,6 +348,11 @@ struct arm_cmn_nodeid { u8 dev; }; +struct arm_cmn_device_data { + const char * model_name; + enum cmn_model model; +}; + static int arm_cmn_xyidbits(const struct arm_cmn *cmn) { return fls((cmn->mesh_x - 1) | (cmn->mesh_y - 1) | 2); @@ -1168,10 +1174,43 @@ 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)); + + return sysfs_emit(buf, "%s\n", cmn->identifier); +} + +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->identifier == NULL) + 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 }; @@ -2247,13 +2286,15 @@ static int arm_cmn_probe(struct platform_device *pdev) const char *name; static atomic_t id; int err, rootnode, this_id; + const struct arm_cmn_device_data * dev_data; cmn = devm_kzalloc(&pdev->dev, sizeof(*cmn), GFP_KERNEL); if (!cmn) return -ENOMEM; cmn->dev = &pdev->dev; - cmn->model = (unsigned long)device_get_match_data(cmn->dev); + dev_data = (const struct arm_cmn_device_data *)device_get_match_data(cmn->dev); + cmn->model = dev_data->model; platform_set_drvdata(pdev, cmn); if (cmn->model == CMN600 && has_acpi_companion(cmn->dev)) { @@ -2281,6 +2322,8 @@ static int arm_cmn_probe(struct platform_device *pdev) if (err) return err; + cmn->identifier = devm_kasprintf( + cmn->dev, GFP_KERNEL, "%s_%d", dev_data->model_name, cmn->rev); cmn->cpu = cpumask_local_spread(0, dev_to_node(cmn->dev)); cmn->pmu = (struct pmu) { .module = THIS_MODULE, @@ -2330,12 +2373,32 @@ static int arm_cmn_remove(struct platform_device *pdev) return 0; } +static const struct arm_cmn_device_data arm_cmn600_data = { + .model_name = "arm_cmn600", + .model = CMN600 +}; + +static const struct arm_cmn_device_data arm_cmn650_data = { + .model_name = "arm_cmn650", + .model = CMN650 +}; + +static const struct arm_cmn_device_data arm_cmn700_data = { + .model_name = "arm_cmn700", + .model = CMN700 +}; + +static const struct arm_cmn_device_data arm_ci700_data = { + .model_name = "arm_ci700", + .model = CI700 +}; + #ifdef CONFIG_OF static const struct of_device_id arm_cmn_of_match[] = { - { .compatible = "arm,cmn-600", .data = (void *)CMN600 }, - { .compatible = "arm,cmn-650", .data = (void *)CMN650 }, - { .compatible = "arm,cmn-700", .data = (void *)CMN700 }, - { .compatible = "arm,ci-700", .data = (void *)CI700 }, + { .compatible = "arm,cmn-600", .data = (void *)&arm_cmn600_data }, + { .compatible = "arm,cmn-650", .data = (void *)&arm_cmn650_data }, + { .compatible = "arm,cmn-700", .data = (void *)&arm_cmn700_data }, + { .compatible = "arm,ci-700", .data = (void *)&arm_ci700_data }, {} }; MODULE_DEVICE_TABLE(of, arm_cmn_of_match); @@ -2343,9 +2406,9 @@ static int arm_cmn_remove(struct platform_device *pdev) #ifdef CONFIG_ACPI static const struct acpi_device_id arm_cmn_acpi_match[] = { - { "ARMHC600", CMN600 }, - { "ARMHC650", CMN650 }, - { "ARMHC700", CMN700 }, + { "ARMHC600", (kernel_ulong_t)&arm_cmn600_data }, + { "ARMHC650", (kernel_ulong_t)&arm_cmn650_data }, + { "ARMHC700", (kernel_ulong_t)&arm_cmn700_data }, {} }; MODULE_DEVICE_TABLE(acpi, arm_cmn_acpi_match); From patchwork Tue May 30 09:19:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 100697 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2050601vqr; Tue, 30 May 2023 02:33:26 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4X2FALz1vqfGP4fJJH5xYCCv4eLF6Z8MJWfyVIEa4pAsGim/6JbspvCypKDA1vhebYoZyE X-Received: by 2002:a05:6a20:429c:b0:10b:7fa4:b373 with SMTP id o28-20020a056a20429c00b0010b7fa4b373mr1792582pzj.44.1685439206658; Tue, 30 May 2023 02:33:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685439206; cv=none; d=google.com; s=arc-20160816; b=sCKd96VXgBizwe44YLj2311TWmL1yjKB6AJgdK429Qg61/f+Rxz3cTmuVzjeBWW4CX EraxpmXYx99e6XhMdHck4fLxqmHeYDnKgsrWIVA1vzGWzmWq21Fpd0NVaxxLlb1u7KW5 0kDjFxlHN5ni1KWPchHN84xwBJa8pQ6KzvO7o0Vg2D77e4kgnZX6L4TCrGjPIzhcjc5u kd30qwo9S4dMPYkSK4z2qwl0lMxL6dlziPCF5UhZdPI3g4j9poXJo9mRNEObjgLo/r8w Fdme4wnrb5kxw8x/N3HxWL0RptUrF6RaCy25LyGUsOkAb9rYzU2Qo/XHs4R/G9alzig9 Wvpw== 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=KThkymt1yogVjo1EnmcyDChbpWKdi6B1GbwqdfEohwQ=; b=gKJBnY2Hg2NQu8Q8emF6A/33p0GOZkqPBHXT8wk25gwF1LX5tBH0XC0KBFlTLdOyTH XFIMx8bHDeULQLSjtyZOoVkD+VZH4Ns2BlYZSvu3pqjfcgb/PMxrBE4y4D76E70Ki7R5 uf8zG88I4puLLJxpBTH5/GxQxQRS8qjRia8WRqUP6Wh0M5jWxc06KNlQeQPw2Fvo5Yf6 yTVSaecNj82uGaUlHaNfswzrZ8z1V54k051YaEekwcCiEf2DMy0Xwkou0Gm3bmJA4lAT NjsLBtDc9hW+VxVE2qV1KHfZDaeiGRxWgOOEnSBIzdjFYy0K5N9K+D0X7+DB/P+vy/TJ r+Vw== 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 s17-20020a632c11000000b0053090c5d094si7063848pgs.648.2023.05.30.02.33.14; Tue, 30 May 2023 02:33:26 -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 S230475AbjE3JU1 (ORCPT + 99 others); Tue, 30 May 2023 05:20:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38378 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230422AbjE3JUI (ORCPT ); Tue, 30 May 2023 05:20:08 -0400 Received: from out30-98.freemail.mail.aliyun.com (out30-98.freemail.mail.aliyun.com [115.124.30.98]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7BC1DF3; Tue, 30 May 2023 02:19:47 -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=ay29a033018046050;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=19;SR=0;TI=SMTPD_---0Vjt6o.s_1685438382; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0Vjt6o.s_1685438382) by smtp.aliyun-inc.com; Tue, 30 May 2023 17:19:42 +0800 From: Jing Zhang To: John Garry , Ian Rogers , Will Deacon , Shuai Xue , Robin Murphy Cc: James Clark , Mike Leach , Leo Yan , Mark Rutland , Ilkka Koskinen , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Zhuo Song , Jing Zhang Subject: [PATCH v3 2/7] perf metric: Event "Compat" value supports matching multiple identifiers Date: Tue, 30 May 2023 17:19:29 +0800 Message-Id: <1685438374-33287-3-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham 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?1767311101754243217?= X-GMAIL-MSGID: =?utf-8?q?1767311101754243217?= The jevent "Compat" is used for uncore PMU alias or metric definitions. The same PMU driver has different PMU identifiers due to different hardware versions and types, but they may have some common PMU event/metric. Since a Compat value can only match one identifier, when adding the same event alias and metric to PMUs with different identifiers, each identifier needs to be defined once, which is not streamlined enough. So let "Compat" value supports matching multiple identifiers. For example, the Compat value "arm_cmn600;arm_cmn700;arm_ci700" can match the PMU identifier "arm_cmn600X" or "arm_cmn700X" or "arm_ci700X", where "X" is a wildcard. Tokens in Unit field are delimited by ';'. Signed-off-by: Jing Zhang --- tools/perf/util/metricgroup.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c index f3559be..c12ccd9 100644 --- a/tools/perf/util/metricgroup.c +++ b/tools/perf/util/metricgroup.c @@ -456,6 +456,28 @@ struct metricgroup_iter_data { void *data; }; +static bool match_pmu_identifier(const char *id, const char *compat) +{ + char *tmp = NULL, *tok, *str; + bool res; + + str = strdup(compat); + if (!str) + return false; + + tok = strtok_r(str, ";", &tmp); + for (; tok; tok = strtok_r(NULL, ";", &tmp)) { + if (!strncmp(id, tok, strlen(tok))) { + res = true; + goto out; + } + } + res = false; +out: + free(str); + return res; +} + static int metricgroup__sys_event_iter(const struct pmu_metric *pm, const struct pmu_metrics_table *table, void *data) @@ -468,7 +490,7 @@ static int metricgroup__sys_event_iter(const struct pmu_metric *pm, while ((pmu = perf_pmu__scan(pmu))) { - if (!pmu->id || strcmp(pmu->id, pm->compat)) + if (!pmu->id || !match_pmu_identifier(pmu->id, pm->compat)) continue; return d->fn(pm, table, d->data); From patchwork Tue May 30 09:19:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 100696 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2050468vqr; Tue, 30 May 2023 02:33:05 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4ItGFDddeHG736mq3DrjetrVfqDGpkAU9yy1o85BRTYv79AMwZEiFBZu+IlNqLqqgQAGQ3 X-Received: by 2002:a05:6a20:4281:b0:10c:322:72d5 with SMTP id o1-20020a056a20428100b0010c032272d5mr1623943pzj.23.1685439185657; Tue, 30 May 2023 02:33:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685439185; cv=none; d=google.com; s=arc-20160816; b=Yzw/GjdXxcO+EH6+YmNfCrPU1w7KVhFLq+PZvITDL6oPrwp0nN8tFnVzwW9L4wzYDG 9cPzKSuNNRLwApRxiyJq874e3VbZewvbegimbmBEo9pdWqyQGsiga8DdFbBqMp49Ulzk BODwuCJhVhP7138Lmb7yEfAhEtq+wt0zZzWwP1rwvmrGQRR4NLTJ+kEt/LDUB23J722e VaThijSUCnaT5RddZ+AunpQzPyY3ysF5gh5wcJXSPErXRULRlJ92QYBAw/xWWLTsV9Ha l1WOjtJKF2e6v6uqTPCKP7spje3/X+9ers//NGZG35j/NQJSTCelaBGN2w+GUIpBKiO5 yC+g== 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=/txKG7wLGcO/DOFCR2TGnd1D22chmIP5czpsDKdkUvA=; b=W8fAA4ZJ91V82kZmIWWpOc5A9zOVRQzgoNAZtuSUqDkAzngiffIP9EbVGvwh3Pvm2H wZlFXLMxkIvECQnyQuq7SmuHyVy3MGRFH0JlXKxiQBtR7qr0OEDyiLylIUzlrkbDS7TR ArxMmbxMiVwrwod3kvTfVJ3K2NFSUxmrbMgiXa60kSlPx8q221T3jP2rPejYBQJJ3ssl 4ciYavit8z+BaeBsxJXF1vS/d3lM3y01ILruzQm9/69YoaaAghS0qJiYYQApT920TBa6 5FdmJ0gWHa1y8OB0jpit/sm1r7Ji25mwPs5i6v6wAQcXHj9V/mNRHO5Q2xsZVu+uD8K+ 8mfw== 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 p124-20020a622982000000b006439b23e8b7si1405162pfp.9.2023.05.30.02.32.51; Tue, 30 May 2023 02:33:05 -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 S230254AbjE3JUg (ORCPT + 99 others); Tue, 30 May 2023 05:20:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230428AbjE3JUJ (ORCPT ); Tue, 30 May 2023 05:20:09 -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 43258100; Tue, 30 May 2023 02:19:48 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R121e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046059;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=19;SR=0;TI=SMTPD_---0Vjt6o0X_1685438383; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0Vjt6o0X_1685438383) by smtp.aliyun-inc.com; Tue, 30 May 2023 17:19:43 +0800 From: Jing Zhang To: John Garry , Ian Rogers , Will Deacon , Shuai Xue , Robin Murphy Cc: James Clark , Mike Leach , Leo Yan , Mark Rutland , Ilkka Koskinen , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Zhuo Song , Jing Zhang Subject: [PATCH v3 3/7] perf vendor events: Add JSON metrics for CMN Date: Tue, 30 May 2023 17:19:30 +0800 Message-Id: <1685438374-33287-4-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_IN_DEF_SPF_WL autolearn=ham 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?1767311079627863261?= X-GMAIL-MSGID: =?utf-8?q?1767311079627863261?= Add JSON metrics for arm CMN. Currently just add part of CMN PMU metrics which are general and compatible for any SoC and CMN-ANY. Signed-off-by: Jing Zhang --- .../pmu-events/arch/arm64/arm/cmn/sys/metrics.json | 74 ++++++++++++++++++++++ tools/perf/pmu-events/jevents.py | 1 + 2 files changed, 75 insertions(+) create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cmn/sys/metrics.json diff --git a/tools/perf/pmu-events/arch/arm64/arm/cmn/sys/metrics.json b/tools/perf/pmu-events/arch/arm64/arm/cmn/sys/metrics.json new file mode 100644 index 0000000..e70ac1a --- /dev/null +++ b/tools/perf/pmu-events/arch/arm64/arm/cmn/sys/metrics.json @@ -0,0 +1,74 @@ +[ + { + "MetricName": "slc_miss_rate", + "BriefDescription": "The system level cache miss rate include.", + "MetricGroup": "arm_cmn", + "MetricExpr": "hnf_cache_miss / hnf_slc_sf_cache_access", + "ScaleUnit": "100%", + "Unit": "arm_cmn", + "Compat": "arm_cmn600;arm_cmn650;arm_cmn700;arm_ci700" + }, + { + "MetricName": "hnf_message_retry_rate", + "BriefDescription": "HN-F message retry rate indicates whether a lack of credits is causing the bottlenecks.", + "MetricGroup": "arm_cmn", + "MetricExpr": "hnf_pocq_retry / hnf_pocq_reqs_recvd", + "ScaleUnit": "100%", + "Unit": "arm_cmn", + "Compat": "arm_cmn600;arm_cmn650;arm_cmn700;arm_ci700" + }, + { + "MetricName": "sf_hit_rate", + "BriefDescription": "Snoop filter hit rate can be used to measure the Snoop Filter efficiency.", + "MetricGroup": "arm_cmn", + "MetricExpr": "hnf_sf_hit / hnf_slc_sf_cache_access", + "ScaleUnit": "100%", + "Unit": "arm_cmn", + "Compat": "arm_cmn600;arm_cmn650;arm_cmn700;arm_ci700" + }, + { + "MetricName": "mc_message_retry_rate", + "BriefDescription": "The memory controller request retries rate indicates whether the memory controller is the bottleneck.", + "MetricGroup": "arm_cmn", + "MetricExpr": "hnf_mc_retries / hnf_mc_reqs", + "ScaleUnit": "100%", + "Unit": "arm_cmn", + "Compat": "arm_cmn600;arm_cmn650;arm_cmn700;arm_ci700" + }, + { + "MetricName": "rni_actual_read_bandwidth.all", + "BriefDescription": "This event measure the actual bandwidth(MB/sec) that RN-I bridge sends to the interconnect.", + "MetricGroup": "arm_cmn", + "MetricExpr": "rnid_rxdat_flits * 32 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "arm_cmn", + "Compat": "arm_cmn600;arm_cmn650;arm_cmn700;arm_ci700" + }, + { + "MetricName": "rni_actual_write_bandwidth.all", + "BriefDescription": "This event measures the actual write bandwidth(MB/sec) at RN-I bridges.", + "MetricGroup": "arm_cmn", + "MetricExpr": "rnid_txdat_flits * 32 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "arm_cmn", + "Compat": "arm_cmn600;arm_cmn650;arm_cmn700;arm_ci700" + }, + { + "MetricName": "rni_retry_rate", + "BriefDescription": "RN-I bridge retry rate indicates whether the memory controller is the bottleneck.", + "MetricGroup": "arm_cmn", + "MetricExpr": "rnid_txreq_flits_retried / rnid_txreq_flits_total", + "ScaleUnit": "100%", + "Unit": "arm_cmn", + "Compat": "arm_cmn600;arm_cmn650;arm_cmn700;arm_ci700" + }, + { + "MetricName": "sbsx_actual_write_bandwidth.all", + "BriefDescription": "sbsx actual write bandwidth(MB/sec).", + "MetricGroup": "arm_cmn", + "MetricExpr": "sbsx_txdat_flitv * 32 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "arm_cmn", + "Compat": "arm_cmn600;arm_cmn650;arm_cmn700;arm_ci700" + } +] diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py index 2bcd07c..7cff2c6 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', + 'arm_cmn': 'arm_cmn', } return table[unit] if unit in table else f'uncore_{unit.lower()}' From patchwork Tue May 30 09:19:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 100684 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2048304vqr; Tue, 30 May 2023 02:28:13 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5J+Y90P4H8UMW2tZeVZeXIKgqksJIv2EmVb3BOUOVjGRi8143aN64f53rLqg690L4vtg2Y X-Received: by 2002:a05:6a00:8c4:b0:63a:ea82:b7b7 with SMTP id s4-20020a056a0008c400b0063aea82b7b7mr1909965pfu.28.1685438892794; Tue, 30 May 2023 02:28:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685438892; cv=none; d=google.com; s=arc-20160816; b=nfgVD/x/KiV6i28qC8lgN5kILNby+KT6+jVo2Zless9yIdQZ74Fm8TgOA9/3RMwBoW bLB2xBQ0uCOpkzBHKrkvPtZ2I0lHkpa/RdDOzTFk8Nd7l8oPsc3yow6Lfs3x6P1vSV5y 8MdzNVy41iZlMHWHEZjqlj2BlDmT28GQcmGn10eRVPf4uPgvdosVuJfDzStl2HofV9Qj 6l3hjt27/qlnc88O8R2ADesTKezwQMz0h/8WCgpVB4gjfgAcSKUhBrLL5WcbmdxXD28F VoKGPq4VkBJCdmteSDKsvDNfpk2leoxhlM1McNBpIe/d6LKUe47Xr7KtMK7QuKZ8Sg2u T2iA== 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=lnjnv4qTxRNFt9gNEHEzj1zaBJU8CBAlaUWeYWndiro=; b=Lc6rvVOMTlV3A5cJ3vFb57goJuYIAvSd1K/Bq8Zc4FRh5tBee+K+thubeHmhVQHW+D QKbv8bnF1KqFGYuHWBZecZtd43OWi7DndCzfseO3HIiALp6xhTbyooZDsz3/5W2kVNx0 9YrkRF6pRMs/LwFbBN0Gn2pST/T8S++pSVlpPksZR8K7TWmglK2H+FE5Xp1I99wkc3wG tJOJsi/SA0rK29Zuw7glDGckk1PuziZ1djIaVRXfav3JhVv6jFMFMJ5U0FmVAbedf6ZX f7VpnC/w2+ByaMU/1NuXiNNOnamhnBLbGZkAI/2WixhydNnGiigK8sa5TujBosQsb6Ee cRNg== 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 h17-20020a056a00001100b0063b88d7c754si1456640pfk.210.2023.05.30.02.28.01; Tue, 30 May 2023 02:28: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 S230494AbjE3JUe (ORCPT + 99 others); Tue, 30 May 2023 05:20:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38340 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230427AbjE3JUJ (ORCPT ); Tue, 30 May 2023 05:20:09 -0400 Received: from out30-130.freemail.mail.aliyun.com (out30-130.freemail.mail.aliyun.com [115.124.30.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4343FE41; Tue, 30 May 2023 02:19:48 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R241e4;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=19;SR=0;TI=SMTPD_---0Vjt6o0o_1685438383; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0Vjt6o0o_1685438383) by smtp.aliyun-inc.com; Tue, 30 May 2023 17:19:44 +0800 From: Jing Zhang To: John Garry , Ian Rogers , Will Deacon , Shuai Xue , Robin Murphy Cc: James Clark , Mike Leach , Leo Yan , Mark Rutland , Ilkka Koskinen , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Zhuo Song , Jing Zhang Subject: [PATCH v3 4/7] driver/perf: Add identifier sysfs file for Yitian 710 DDR Date: Tue, 30 May 2023 17:19:31 +0800 Message-Id: <1685438374-33287-5-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham 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?1767310772378912562?= X-GMAIL-MSGID: =?utf-8?q?1767310772378912562?= 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 Acked-by: Ian Rogers Reviewed-by: Shuai Xue --- 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..fe075fd 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_pmu"); +} + +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 Tue May 30 09:19:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 100693 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2049474vqr; Tue, 30 May 2023 02:30:53 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6DtvBtANVtA0fzu4e2PjlndldOyiXmSgQVzrPvYBw0ZzfqVosMalxjQ8kmVGp7HWe6tFck X-Received: by 2002:a05:6a00:178b:b0:63c:1be4:5086 with SMTP id s11-20020a056a00178b00b0063c1be45086mr2038791pfg.6.1685439052937; Tue, 30 May 2023 02:30:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685439052; cv=none; d=google.com; s=arc-20160816; b=cDuDJvZrRwjJPXErud7hFaN6l2Iy/TZb7mA5vnR5Iw6HqD1lIaLngIb8+ElzjnHQO2 mtP7iNPGts7taKJL7yQRJVAKCKPOJeU+EVQhMqEjSxjGeGnMy5KSMXivGmCnAXUAJpCm dCkuy53tQsHOy1chSQV16y8r3pifrS38SHr62DylbCts/9klUhMN8vRsmbWyv44NYYwP wJv76TRxgvESrhaCL3k9u9wL8aICPZ12cVRTpLCoFmGLau4/BezZp33/9ljVxMgAOtQM /oRzSXUdQd8uerV9ueDzfmuWXQOwz3G9AA3URW2/9x63MnWYZZffoya7IEu6GmZGk9r0 FP2w== 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=ewSE/D/2Rimq1eNAs6piygsMlCZwwDzpLalyD556vrY=; b=P4zDNYaUe0Y1Nf6wAzJEin78a+j3TdBPC7rFLLXu7pkGDvzu86V0PH5SgPyFUX6CYb Zj8UfWIjdp/N1IIQfBDCHUpbSR+CvUjjzez7LSmhSd8GP2DUxNa0mX45daYodthX1/gh SNgoWxiDZyLTsZc05ARpq25k7mR6uyMayZe23w9RacRc4E0R2TEP/jvMZgNcwE81bFez DYdZbzYrdYK5Nw7g9u7GvusHbgOIgTGHic2lH6d3FpQhYM2XCMO+3bBSba/1susr9EL1 FPTIOi6R8xSp50XRdc3DS/hiPljEb2Qgsq1ADCDtipKfmAImyPk26GoWK27ssSgxb5AQ XYOg== 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 o27-20020a63921b000000b0053ef1b5a506si7761116pgd.275.2023.05.30.02.30.40; Tue, 30 May 2023 02:30:52 -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 S230519AbjE3JUj (ORCPT + 99 others); Tue, 30 May 2023 05:20:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230281AbjE3JUO (ORCPT ); Tue, 30 May 2023 05:20:14 -0400 Received: from out30-98.freemail.mail.aliyun.com (out30-98.freemail.mail.aliyun.com [115.124.30.98]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6080CF9; Tue, 30 May 2023 02:19:49 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R201e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045168;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=19;SR=0;TI=SMTPD_---0Vjt6o18_1685438384; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0Vjt6o18_1685438384) by smtp.aliyun-inc.com; Tue, 30 May 2023 17:19:45 +0800 From: Jing Zhang To: John Garry , Ian Rogers , Will Deacon , Shuai Xue , Robin Murphy Cc: James Clark , Mike Leach , Leo Yan , Mark Rutland , Ilkka Koskinen , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Zhuo Song , Jing Zhang Subject: [PATCH v3 5/7] perf jevents: Add support for Yitian 710 DDR PMU aliasing Date: Tue, 30 May 2023 17:19:32 +0800 Message-Id: <1685438374-33287-6-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_IN_DEF_SPF_WL autolearn=ham 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?1767310940368918563?= X-GMAIL-MSGID: =?utf-8?q?1767310940368918563?= Add support for T-HEAD Yitian 710 SoC DDR PMU aliasing. Signed-off-by: Jing Zhang Acked-by: Ian Rogers Reviewed-by: John Garry Reviewed-by: Shuai Xue --- .../arm64/freescale/yitian710/sys/ali_drw.json | 373 +++++++++++++++++++++ tools/perf/pmu-events/jevents.py | 1 + 2 files changed, 374 insertions(+) create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/ali_drw.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..2d49bf7 --- /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. The unit is 64B.", + "ConfigCode": "0x0", + "EventName": "hif_rd_or_wr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Write Op at HIF interface. The unit is 64B.", + "ConfigCode": "0x1", + "EventName": "hif_wr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Read Op at HIF interface. The unit is 64B.", + "ConfigCode": "0x2", + "EventName": "hif_rd", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Read-Modify-Write Op at HIF interface. The unit is 64B.", + "ConfigCode": "0x3", + "EventName": "hif_rmw", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A high priority Read at HIF interface. The unit is 64B.", + "ConfigCode": "0x4", + "EventName": "hif_hi_pri_rd", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A write data cycle at DFI interface (to DRAM).", + "ConfigCode": "0x7", + "EventName": "dfi_wr_data_cycles", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A read data cycle at DFI interface (to DRAM).", + "ConfigCode": "0x8", + "EventName": "dfi_rd_data_cycles", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A high priority read becomes critical.", + "ConfigCode": "0x9", + "EventName": "hpr_xact_when_critical", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A low priority read becomes critical.", + "ConfigCode": "0xA", + "EventName": "lpr_xact_when_critical", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A write becomes critical.", + "ConfigCode": "0xB", + "EventName": "wr_xact_when_critical", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "An Activate(ACT) command to DRAM.", + "ConfigCode": "0xC", + "EventName": "op_is_activate", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Read or Write CAS command to DRAM.", + "ConfigCode": "0xD", + "EventName": "op_is_rd_or_wr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "An Activate(ACT) command for read to DRAM.", + "ConfigCode": "0xE", + "EventName": "op_is_rd_activate", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Read CAS command to DRAM.", + "ConfigCode": "0xF", + "EventName": "op_is_rd", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Write CAS command to DRAM.", + "ConfigCode": "0x10", + "EventName": "op_is_wr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Masked Write command to DRAM.", + "ConfigCode": "0x11", + "EventName": "op_is_mwr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Precharge(PRE) command to DRAM.", + "ConfigCode": "0x12", + "EventName": "op_is_precharge", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Precharge(PRE) required by read or write.", + "ConfigCode": "0x13", + "EventName": "precharge_for_rdwr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Precharge(PRE) required by other conditions.", + "ConfigCode": "0x14", + "EventName": "precharge_for_other", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A read-write turnaround.", + "ConfigCode": "0x15", + "EventName": "rdwr_transitions", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A write combine(merge) in write data buffer.", + "ConfigCode": "0x16", + "EventName": "write_combine", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Write-After-Read hazard.", + "ConfigCode": "0x17", + "EventName": "war_hazard", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Read-After-Write hazard.", + "ConfigCode": "0x18", + "EventName": "raw_hazard", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Write-After-Write hazard.", + "ConfigCode": "0x19", + "EventName": "waw_hazard", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "Rank0 enters self-refresh(SRE).", + "ConfigCode": "0x1A", + "EventName": "op_is_enter_selfref_rk0", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "Rank1 enters self-refresh(SRE).", + "ConfigCode": "0x1B", + "EventName": "op_is_enter_selfref_rk1", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "Rank2 enters self-refresh(SRE).", + "ConfigCode": "0x1C", + "EventName": "op_is_enter_selfref_rk2", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "Rank3 enters self-refresh(SRE).", + "ConfigCode": "0x1D", + "EventName": "op_is_enter_selfref_rk3", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "Rank0 enters power-down(PDE).", + "ConfigCode": "0x1E", + "EventName": "op_is_enter_powerdown_rk0", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "Rank1 enters power-down(PDE).", + "ConfigCode": "0x1F", + "EventName": "op_is_enter_powerdown_rk1", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "Rank2 enters power-down(PDE).", + "ConfigCode": "0x20", + "EventName": "op_is_enter_powerdown_rk2", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "Rank3 enters power-down(PDE).", + "ConfigCode": "0x21", + "EventName": "op_is_enter_powerdown_rk3", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A cycle that Rank0 stays in self-refresh mode.", + "ConfigCode": "0x26", + "EventName": "selfref_mode_rk0", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A cycle that Rank1 stays in self-refresh mode.", + "ConfigCode": "0x27", + "EventName": "selfref_mode_rk1", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A cycle that Rank2 stays in self-refresh mode.", + "ConfigCode": "0x28", + "EventName": "selfref_mode_rk2", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A cycle that Rank3 stays in self-refresh mode.", + "ConfigCode": "0x29", + "EventName": "selfref_mode_rk3", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "An auto-refresh(REF) command to DRAM.", + "ConfigCode": "0x2A", + "EventName": "op_is_refresh", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A critical auto-refresh(REF) command to DRAM.", + "ConfigCode": "0x2B", + "EventName": "op_is_crit_ref", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "An MRR or MRW command to DRAM.", + "ConfigCode": "0x2D", + "EventName": "op_is_load_mode", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A ZQCal command to DRAM.", + "ConfigCode": "0x2E", + "EventName": "op_is_zqcl", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "At least one entry in read queue reaches the visible window limit.", + "ConfigCode": "0x30", + "EventName": "visible_window_limit_reached_rd", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "At least one entry in write queue reaches the visible window limit.", + "ConfigCode": "0x31", + "EventName": "visible_window_limit_reached_wr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A DQS Oscillator MPC command to DRAM.", + "ConfigCode": "0x34", + "EventName": "op_is_dqsosc_mpc", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A DQS Oscillator MRR command to DRAM.", + "ConfigCode": "0x35", + "EventName": "op_is_dqsosc_mrr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A Temperature Compensated Refresh(TCR) MRR command to DRAM.", + "ConfigCode": "0x36", + "EventName": "op_is_tcr_mrr", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A ZQCal Start command to DRAM.", + "ConfigCode": "0x37", + "EventName": "op_is_zqstart", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A ZQCal Latch command to DRAM.", + "ConfigCode": "0x38", + "EventName": "op_is_zqlatch", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A packet at CHI TXREQ interface (request).", + "ConfigCode": "0x39", + "EventName": "chi_txreq", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A packet at CHI TXDAT interface (read data).", + "ConfigCode": "0x3A", + "EventName": "chi_txdat", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A packet at CHI RXDAT interface (write data).", + "ConfigCode": "0x3B", + "EventName": "chi_rxdat", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A packet at CHI RXRSP interface.", + "ConfigCode": "0x3C", + "EventName": "chi_rxrsp", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "A violation detected in TZC.", + "ConfigCode": "0x3D", + "EventName": "tsz_vio", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "BriefDescription": "The ddr cycle.", + "ConfigCode": "0x80", + "EventName": "cycle", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + } +] diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py index 7cff2c6..aff4051 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', 'arm_cmn': 'arm_cmn', + 'ali_drw': 'ali_drw', } return table[unit] if unit in table else f'uncore_{unit.lower()}' From patchwork Tue May 30 09:19:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 100679 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2046132vqr; Tue, 30 May 2023 02:22:38 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ46egGIw4vcrYa2itFm8mpvuW/FVHgYCv+nr/9pcw+FqtdQEZJFtyfE73OdIqti3K83Jwxv X-Received: by 2002:a05:6a00:3901:b0:64a:f730:154b with SMTP id fh1-20020a056a00390100b0064af730154bmr2105798pfb.5.1685438557972; Tue, 30 May 2023 02:22:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685438557; cv=none; d=google.com; s=arc-20160816; b=po0pNczw/MwHT22pnCRGvFb9MKhnwA2sLCYY6fTq1f9vgsFHySZjYMEWRqySqso8bj O7XrptSKMKviBQ1eIYDmkpPDskJq3uOHuZSM1ErwIRFNLg5MR8UEd5/eywx3nIyZ4NGU iydYXYXyFeLDexA9Pc27D1QIaQZdaQ7548V+xSZcdIOQhVurNkMIjYg8JYK3cYb7oo4+ 6XPPuqaHiVTEsGsD0oY+UaQNElw4eyjsBsTkbVW3f8DyNbbR48P8EoCNagsq7WsrF2Mv vNdiujc8ioUCHotWQY6OFOGsz7yT2Tr0e5igFgwEryecEiX8mxARMwZVoVSCFTBUBHUb RAMQ== 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=bqnMGkkpcB6DZLCpAJlldhVSi+aJ0VGSyjBbV6goJOI=; b=UTU8RKpjemaz3bhwL889QWHhYQRCiWPPEmL3LWjLcnzbPERFJtsYiMEMsO3AUiOtED N9SPvtJXYy/BeCcvb9h4Of5sho/U3pebd2lJQXZJJ2h/rlrEY9sH6rTFTL4sd5vlps3V A9gm6N0AXoj+cAvM/xAZPmEMjDRGIxtJQjcPXwp3hNDMhtbAiq909Ts0mVZ/f7iJCATX 1ek6U277p3WfsADqpYQDGsB/LXoJKwtsisC9kWb5isOBUUbGvHaz6eCmJODLEgu76FOp wQwp7CoyWNqj88dAsS2K3K+wvv7fQaYIVcRH/Sq0Ayal0bg1MYiPFp7TM4Ecg6h0IdTE dCVg== 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 t127-20020a637885000000b00524ca1b89f0si1587433pgc.596.2023.05.30.02.22.24; Tue, 30 May 2023 02:22:37 -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 S231134AbjE3JUq (ORCPT + 99 others); Tue, 30 May 2023 05:20:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230319AbjE3JUP (ORCPT ); Tue, 30 May 2023 05:20:15 -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 7A32D131; Tue, 30 May 2023 02:19:51 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R161e4;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=19;SR=0;TI=SMTPD_---0Vjt6o1W_1685438385; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0Vjt6o1W_1685438385) by smtp.aliyun-inc.com; Tue, 30 May 2023 17:19:46 +0800 From: Jing Zhang To: John Garry , Ian Rogers , Will Deacon , Shuai Xue , Robin Murphy Cc: James Clark , Mike Leach , Leo Yan , Mark Rutland , Ilkka Koskinen , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Zhuo Song , Jing Zhang Subject: [PATCH v3 6/7] perf vendor events: Add JSON metrics for Yitian 710 DDR Date: Tue, 30 May 2023 17:19:33 +0800 Message-Id: <1685438374-33287-7-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham 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?1767310421123094829?= X-GMAIL-MSGID: =?utf-8?q?1767310421123094829?= Add JSON metrics for T-HEAD Yitian 710 SoC DDR. Signed-off-by: Jing Zhang Acked-by: Ian Rogers Reviewed-by: John Garry --- .../arch/arm64/freescale/yitian710/sys/metrics.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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/metrics.json b/tools/perf/pmu-events/arch/arm64/freescale/yitian710/sys/metrics.json new file mode 100644 index 0000000..1a92477 --- /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": "ali_drw", + "MetricExpr": "hif_rd * 64 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + }, + { + "MetricName": "ddr_write_bandwidth.all", + "BriefDescription": "The ddr write bandwidth(MB/s).", + "MetricGroup": "ali_drw", + "MetricExpr": "(hif_wr + hif_rmw) * 64 / 1e6 / duration_time", + "ScaleUnit": "1MB/s", + "Unit": "ali_drw", + "Compat": "ali_drw_pmu" + } +] From patchwork Tue May 30 09:19:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 100692 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2048866vqr; Tue, 30 May 2023 02:29:30 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6xcSHrRaQ9zV3iYHyocBW0k0oQ+5O1+hBmhc0KvyZfV+zh9RhQy6K7GKhUkNgStsoq9Y8w X-Received: by 2002:a05:6a00:15c7:b0:646:6cc3:4a52 with SMTP id o7-20020a056a0015c700b006466cc34a52mr1897925pfu.3.1685438970444; Tue, 30 May 2023 02:29:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685438970; cv=none; d=google.com; s=arc-20160816; b=zRBX4ffXpoM0JDZIIDlmeO8c2H++2vwO0IDZGuSgagV/T21mH5EyfgmrM2OQi7sq6m 4Kh5UMOkHxyRd/A+Ix5oRrFzzDHK8++ioFsYGuEi47UeEEcCwfWC7dYL5qG3XEOP7XSq NEgtNsHYz9JLzt3n75UBVcOWXqWAx+/SIgnq/neHxEO+DHJC3imA/jme/NZaben1gjb0 0hqlVbkD1C8jN3sR2y4idlpEmE/q4UrGP+X2rUA04VedGPZjHu+ZsP/9nZWOFeRQANps PGE0jOawgIXdLAAn+49gsHF2WcnmENhkohmHzV3sjs56MjTEF5ZGZHye03ltFRyKs53B CqDQ== 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=jyfNCH3vryfVQ8ezr+LcfERgvRjxigLiuIur2rQ+TZI=; b=lkX8aHhy19xXYz6I8PsnSFG5yE2fZ6eRkUFKJhLA6fjhawKsTQ/7OGOOmYI5/KEJ4f O0lKq8CSvaM0D4qc5imnF8hkYWACKfslwCLtTjWlLENBMhIChOOSoRwAdwpVVfHMMwBu LYwLXxZZ9l3r9wkoQFhWmF6znU6iAZj+k9qR4qfs4mW6RShZ20haQxK3cVvpzwlcd4pB XIRy2xi2CJx1vc0Xchln0U7Uq4jL0o0UvhbCKfiPt9WwWGa20qmPawYkF2Y1UURs3iUr 8x+wZEXwNqVJ7d2eEguVXtJaE+TrHs2PBVpVejH+IWn5Yo6Lyg9ZviuvL1kDf0bC12GP Vs4A== 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 d15-20020a63734f000000b0053ef2b7f245si5253756pgn.621.2023.05.30.02.29.18; Tue, 30 May 2023 02:29:30 -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 S231144AbjE3JUt (ORCPT + 99 others); Tue, 30 May 2023 05:20:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230360AbjE3JUQ (ORCPT ); Tue, 30 May 2023 05:20:16 -0400 Received: from out30-112.freemail.mail.aliyun.com (out30-112.freemail.mail.aliyun.com [115.124.30.112]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A9034109; Tue, 30 May 2023 02:19:53 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R861e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046059;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=19;SR=0;TI=SMTPD_---0Vjt6o28_1685438386; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0Vjt6o28_1685438386) by smtp.aliyun-inc.com; Tue, 30 May 2023 17:19:47 +0800 From: Jing Zhang To: John Garry , Ian Rogers , Will Deacon , Shuai Xue , Robin Murphy Cc: James Clark , Mike Leach , Leo Yan , Mark Rutland , Ilkka Koskinen , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Zhuo Song , Jing Zhang Subject: [PATCH v3 7/7] docs: perf: Update metric usage for Alibaba's T-Head PMU driver Date: Tue, 30 May 2023 17:19:34 +0800 Message-Id: <1685438374-33287-8-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1685438374-33287-1-git-send-email-renyu.zj@linux.alibaba.com> X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham 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?1767310854191832014?= X-GMAIL-MSGID: =?utf-8?q?1767310854191832014?= Alibaba's T-Head ali_drw PMU supports DDR bandwidth metrics. Update its usage in the documentation. Signed-off-by: Jing Zhang Acked-by: Ian Rogers --- Documentation/admin-guide/perf/alibaba_pmu.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/admin-guide/perf/alibaba_pmu.rst b/Documentation/admin-guide/perf/alibaba_pmu.rst index 11de998..7d84002 100644 --- a/Documentation/admin-guide/perf/alibaba_pmu.rst +++ b/Documentation/admin-guide/perf/alibaba_pmu.rst @@ -88,6 +88,11 @@ data bandwidth:: -e ali_drw_27080/hif_rmw/ \ -e ali_drw_27080/cycle/ -- sleep 10 +Example usage of counting all memory read/write bandwidth by metric:: + + perf stat -M ddr_read_bandwidth.all -- sleep 10 + perf stat -M ddr_write_bandwidth.all -- sleep 10 + The average DRAM bandwidth can be calculated as follows: - Read Bandwidth = perf_hif_rd * DDRC_WIDTH * DDRC_Freq / DDRC_Cycle