From patchwork Wed Sep 27 05:59:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jing Zhang X-Patchwork-Id: 145185 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp2417211vqu; Tue, 26 Sep 2023 23:11:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF+nfNbtw26E5MFn1en+xq0iTaPFMtWYYvnxLbEdfQJp3tNy53sLj86rtUY8v3nXBiLXg3n X-Received: by 2002:a17:903:1c3:b0:1c1:ecff:a637 with SMTP id e3-20020a17090301c300b001c1ecffa637mr946659plh.15.1695795108858; Tue, 26 Sep 2023 23:11:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695795108; cv=none; d=google.com; s=arc-20160816; b=hxUrPvEwHZFTD20DDaFbORuELk+YZahVPcwcBgIkb6oOwdHCU3Rh78maITEXn/Y/Mq JcOfLvqpJbq7AMJ7i2Q8xVvYyLpQN/iYQpQhaR3GCMsbnVf3MFxnKKDc+MDu+yo6SSuw kVFfA9W7S6aGUfMgIeIOLZ2LIePQS+XCHqkw6bX88C0nJYYhXXYu9qYjtm9dxj5g/9Ls Avqc/XL3vUBUraZhy6wzKPemYaRcX1z/1pHJbJ6MSWVXld45s7V506c7jsjBOBZAUz6S JDB8eHeRWzY1YpSuKZ6jFjRh/7XCrgo9nXTEXh6PTB1DlWrL7PIYzswrlSVvSiLt1SFW tApQ== 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=Jgdy6f4XV0M9MSyLhIutxpBjX/VN2Vsdg1dx4c6kcWs=; fh=9KkEy5BETl+n6HvtEwBLK4NkRgCt0Iv6FwLxABl1azE=; b=pBMUGU89NgQZHxIwVGE+09kT2Qhd1Ep+Vj3NTh8aQA1nYbJ6HNnrC9Viq8MHzumdVS YouGoTL0/8+aHyXiirzJN3TSFMu3NIe4NGhuXjju2sOzEHUt/m3UxXbhcgWXmnnqA/0o xvLT9TPE/QBtIqwouPBHqKCeJqJFer3vxf/1JbAjy3PNTTRg40I248pVzLMxvUpAPvDT ry+mFkYzjnnJ2tTsB2/S3tgkvrhUvh6gc2KncjHHIBz3HPDRVZx9CeYsvxA2oYCtPmyl V2B89vQLSkaTuejahjVusxOMkM8ChlI2s8fWf+QLp+14Rd+wGNsUFjqazBaKTzuwYJkb TUOA== 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 ld12-20020a170902facc00b001c3671d3151si14171338plb.92.2023.09.26.23.11.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Sep 2023 23:11:48 -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 7CA6980A9910; Tue, 26 Sep 2023 23:00:52 -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 S229612AbjI0GAM (ORCPT + 25 others); Wed, 27 Sep 2023 02:00:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38600 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229519AbjI0GAG (ORCPT ); Wed, 27 Sep 2023 02:00:06 -0400 Received: from out30-132.freemail.mail.aliyun.com (out30-132.freemail.mail.aliyun.com [115.124.30.132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0472DD; Tue, 26 Sep 2023 23:00:04 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R821e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046051;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=21;SR=0;TI=SMTPD_---0VszCdMf_1695794401; Received: from srmbuffer011165236051.sqa.net(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VszCdMf_1695794401) by smtp.aliyun-inc.com; Wed, 27 Sep 2023 14:00:01 +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 v11 2/7] perf metric: "Compat" supports regular expression matching identifiers Date: Wed, 27 Sep 2023 13:59:46 +0800 Message-Id: <1695794391-34817-3-git-send-email-renyu.zj@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1695794391-34817-1-git-send-email-renyu.zj@linux.alibaba.com> References: <1695794391-34817-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]); Tue, 26 Sep 2023 23:00:52 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778170052002130824 X-GMAIL-MSGID: 1778170052002130824 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 Tested-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);