From patchwork Mon Sep 25 05:57:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 144219 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp1001032vqu; Sun, 24 Sep 2023 22:59:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG0AS2OppYQ+jbEB1QxoKmNDglzRY5YwiqYQQZMZOYjMz3c3enNxS7q5eJbUTHPGUq/I1xP X-Received: by 2002:a17:902:db11:b0:1c0:cbaf:6930 with SMTP id m17-20020a170902db1100b001c0cbaf6930mr8202607plx.54.1695621591296; Sun, 24 Sep 2023 22:59:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695621591; cv=none; d=google.com; s=arc-20160816; b=lyQezZA7yzE6LMayYU5WNqjQNQv76xtBIKLOF1TX3wW5yaOesDMSYr4wUL/H+V6dfC uhDGKbL67TUwq0q4uHj2Mty1iv96ujlRt/1g1LbWuCKOftY2xMhW+b0oe2VEZfnzVyAn SbB8hDU+1Cfrzw565fcGIG4Ozh9KLu2cL8jYIiq9hHZ9I/H4/nBS8h8gJgYCIVmGQfTI e43JCy2ehlDVzo+rPFiSxibzc7HKwCgTAyc7rzNMqUGt8OX4MF8LPmXRJijyugOZtn0z 7tlwqpjLS/IEo8Jil3tJ3bRkTSFd1SeiSoo5QJXogXfTdgl5cFWfTckfnqAdsWQ2dmCu fqyg== 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=ZK2f8nFVgR14IJKGWpfppHgBY96nLH+q4JS2iFHYyxQ=; fh=9KkEy5BETl+n6HvtEwBLK4NkRgCt0Iv6FwLxABl1azE=; b=Esk1Cr04srjQc+SQD9HpsC0rK8ppgjqNS8WFFnTKhnm9tT7+/xSrx0ql2WNijYPfgp ZYMj9m++MDCxdv3Lw0lrb3IpdmN9ZXcbtj8guatkVGkUsJGTsU534pcnzKBrvfbZf8g8 DnRFunRIvMZxhI7iLHK9NBWkLLvtFmcWoVRDVh46ZXJW9vosfkg85mCUeHrSTq+yjTSS srJEEF+JScMsJQnJ3T7XFd4qaQG+ABPzudryVUJtsa7xeJps3lkG9lRQ4hmrVD6xRGt2 ZZry+LdW20MJOq8CYZ0Lk7+GBX3/+laq5n50NcbPwGUF3SESWn3DkWY7olsx3+NvoIuq TfFQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id q15-20020a170902dacf00b001c434b3659bsi9854694plx.354.2023.09.24.22.59.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 22:59:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 9C73F80A5F91; Sun, 24 Sep 2023 22:58:48 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230171AbjIYF6i (ORCPT + 30 others); Mon, 25 Sep 2023 01:58:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47650 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229899AbjIYF6f (ORCPT ); Mon, 25 Sep 2023 01:58:35 -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 029CAE3; Sun, 24 Sep 2023 22:58:28 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R901e4;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=21;SR=0;TI=SMTPD_---0Vsl7J1w_1695621505; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0Vsl7J1w_1695621505) by smtp.aliyun-inc.com; Mon, 25 Sep 2023 13:58:25 +0800 From: Jing Zhang To: John Garry , Ian Rogers Cc: Will Deacon , James Clark , Arnaldo Carvalho de Melo , Mark Rutland , Mike Leach , Leo Yan , Namhyung Kim , Peter Zijlstra , Ingo Molnar , Alexander Shishkin , Jiri Olsa , Adrian Hunter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-doc@vger.kernel.org, Zhuo Song , Jing Zhang , Shuai Xue Subject: [PATCH v10 2/7] perf metric: "Compat" supports regular expression matching identifiers Date: Mon, 25 Sep 2023 13:57:19 +0800 Message-Id: <1695621444-56530-3-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1695621444-56530-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1695621444-56530-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_BLOCKED,SPF_HELO_NONE,SPF_PASS, 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sun, 24 Sep 2023 22:58:48 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777988105667244093 X-GMAIL-MSGID: 1777988105667244093 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 metric. Since a Compat value can only match one identifier, when adding the same metric to PMUs with different identifiers, each identifier needs to be defined once, which is not streamlined enough. So let "Compat" support using regular expression to match multiple identifiers for uncore PMU metric. Signed-off-by: Jing Zhang Reviewed-by: John Garry Reviewed-by: Ian Rogers --- tools/perf/util/metricgroup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c index 6231044..0484736 100644 --- a/tools/perf/util/metricgroup.c +++ b/tools/perf/util/metricgroup.c @@ -498,7 +498,7 @@ static int metricgroup__sys_event_iter(const struct pmu_metric *pm, while ((pmu = perf_pmus__scan(pmu))) { - if (!pmu->id || strcmp(pmu->id, pm->compat)) + if (!pmu->id || !pmu_uncore_identifier_match(pm->compat, pmu->id)) continue; return d->fn(pm, table, d->data);