Received: by 2002:a25:2c96:0:0:0:0:0 with SMTP id s144csp614533ybs; Sun, 24 May 2020 15:47:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwLHYUP5JdHgYKLLaWXL94IRXwISBOJ88JzCOeRV582+QGfxrlxKxpe/xLUHor41pliyQhb X-Received: by 2002:a05:6402:4c6:: with SMTP id n6mr12359662edw.264.1590360471451; Sun, 24 May 2020 15:47:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590360471; cv=none; d=google.com; s=arc-20160816; b=YPsiWngoNHS44fWyG8lRyKlMeKm6ZPes+cHgQW7ALCjgMqMqDzyjrdnx0QbOAhGPGU qsfvluV1ATQi+ecc9gxR1+uJunVMOkWkNMu7L3ify1lA/kMWKmy2+PWcmTVTmXYZMlUU 7JC1561edItyR2CMY/8fML2tIv2MDt4BMMjGdI3M320wxsxX26hK/BpdnV/Asi1TBF8D gDM9CvajQY4ou/BQE6bRFJInr8kpI7aHFj05hS8KnxZlW8AAjzOilrHD66gdtXyu+9kI r7ksHuw7vrSex8yH0r6xP72E9QnJ/5bQuI8jvRKSr6OhpTJKQa5z0fhm1ShabfN4NDQ1 KPuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=EIQh6S9Via+tL3b6vK/R3RftjDQVUphkGeTbryfI81Y=; b=WStU5a+Dr4ceKPHT2cmYZ06Dbmpv5DJs1mL19wQE6kgO87WEPB4rbCmIKwgr95/BXM 4phgThMqPAClhFSCsCWyTWD950shjcfZhbfroMgQ56s7l1S+4YD3glB732PtJfxlFTNi VC1ahoW5QIKoK0CQ2q9DZjJKrbcm9ijE5WKL8rqaqTbGhY1qZgmbYvkA3Qwf/8olGLnq jAdWpJ85Q5Ghq0bhlRxEmZgTuAcCxusTMwMRhInA7Y05BDORM6yjG/TJBXXvfMSOX9na 0hjAIS91zoJCFY5RhJl0GE7DL3RIWDYaoQfcnlv8Y5C6iJjGCpyEK5r/EIVew5T+M7/m CMjg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qp5si8275282ejb.629.2020.05.24.15.47.28; Sun, 24 May 2020 15:47:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388636AbgEXWnG convert rfc822-to-8bit (ORCPT + 99 others); Sun, 24 May 2020 18:43:06 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:34383 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2388597AbgEXWnE (ORCPT ); Sun, 24 May 2020 18:43:04 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-165-VhD7X1WUMXeNLNtl-4tzMg-1; Sun, 24 May 2020 18:42:56 -0400 X-MC-Unique: VhD7X1WUMXeNLNtl-4tzMg-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 19359800688; Sun, 24 May 2020 22:42:55 +0000 (UTC) Received: from krava.redhat.com (unknown [10.40.192.57]) by smtp.corp.redhat.com (Postfix) with ESMTP id C34F36ED9C; Sun, 24 May 2020 22:42:52 +0000 (UTC) From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: lkml , Ingo Molnar , Namhyung Kim , Alexander Shishkin , Peter Zijlstra , Michael Petlan , Ian Rogers , Stephane Eranian , Andi Kleen Subject: [PATCH 10/14] perf tools: Add map to parse_events function Date: Mon, 25 May 2020 00:42:15 +0200 Message-Id: <20200524224219.234847-11-jolsa@kernel.org> In-Reply-To: <20200524224219.234847-1-jolsa@kernel.org> References: <20200524224219.234847-1-jolsa@kernel.org> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 4 X-Mimecast-Originator: kernel.org Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org For testing purposes we need to pass our own map of events from parse_groups through metricgroup__add_metric. Signed-off-by: Jiri Olsa --- tools/perf/util/metricgroup.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c index 547f83ee5c68..b8a0bd7e9297 100644 --- a/tools/perf/util/metricgroup.c +++ b/tools/perf/util/metricgroup.c @@ -597,9 +597,9 @@ static int __metricgroup__add_metric(struct list_head *group_list, static int metricgroup__add_metric(const char *metric, bool metric_no_group, struct strbuf *events, - struct list_head *group_list) + struct list_head *group_list, + struct pmu_events_map *map) { - struct pmu_events_map *map = perf_pmu__find_map(NULL); struct pmu_event *pe; struct egroup *eg; int i, ret; @@ -668,7 +668,8 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group, static int metricgroup__add_metric_list(const char *list, bool metric_no_group, struct strbuf *events, - struct list_head *group_list) + struct list_head *group_list, + struct pmu_events_map *map) { char *llist, *nlist, *p; int ret = -EINVAL; @@ -683,7 +684,7 @@ static int metricgroup__add_metric_list(const char *list, bool metric_no_group, while ((p = strsep(&llist, ",")) != NULL) { ret = metricgroup__add_metric(p, metric_no_group, events, - group_list); + group_list, map); if (ret == -EINVAL) { fprintf(stderr, "Cannot find metric or group `%s'\n", p); @@ -713,7 +714,8 @@ static int parse_groups(struct evlist *perf_evlist, const char *str, bool metric_no_group, bool metric_no_merge, bool fake_pmu, - struct rblist *metric_events) + struct rblist *metric_events, + struct pmu_events_map *map) { struct parse_events_error parse_error; struct strbuf extra_events; @@ -723,7 +725,7 @@ static int parse_groups(struct evlist *perf_evlist, const char *str, if (metric_events->nr_entries == 0) metricgroup__rblist_init(metric_events); ret = metricgroup__add_metric_list(str, metric_no_group, - &extra_events, &group_list); + &extra_events, &group_list, map); if (ret) return ret; pr_debug("adding %s\n", extra_events.buf); @@ -752,9 +754,10 @@ int metricgroup__parse_groups(const struct option *opt, struct rblist *metric_events) { struct evlist *perf_evlist = *(struct evlist **)opt->value; + struct pmu_events_map *map = perf_pmu__find_map(NULL); return parse_groups(perf_evlist, str, metric_no_group, - metric_no_merge, false, metric_events); + metric_no_merge, false, metric_events, map); } int metricgroup__parse_groups_test(struct evlist *evlist, -- 2.25.4