Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp5881000ybi; Sun, 21 Jul 2019 04:34:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqxoDLxuS5BfhuhSeYbo5luRDW3cS3bHgT+IdVEOtFvgNkYMletQvY4J/5jwiS00KuBOfl6p X-Received: by 2002:a17:902:b789:: with SMTP id e9mr67534930pls.294.1563708890121; Sun, 21 Jul 2019 04:34:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563708890; cv=none; d=google.com; s=arc-20160816; b=LDi9RMzy6ZYAuI99i6kFMh6UjMb4pepyne1vvGIsUwafShNDCUo9M2lx/AKmLjpSKX 7gIl/HxiTcV/7M4CSPbMMyLaSudD+BRbSU/SNTei8f489CaqNByVJG8FRqnAHyYXXOU1 8qm1QKa5+9O+7VLckdiBb+I9ppjIG3jmn7/wRdexdHw35o5l1n67ifrfxxzqI+Dm43+g FjWYNYG+SsF6vzCl6gcIAideK5Rfp0LEW6nFPYpdG+YPyvz9Wgq02RYz2n5SkIm/0eWG ENMSSyZmecn0dQXXLCLmfLbffQmKD1zlhwnbS8apPsfgOcl3j3Pzw4ADnTar3KeGIalq 7RHg== 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=VvW0XhX64cYM4muPjY9RdSH/sEprhbT9BCg2xTFtrAg=; b=klU+gDwxEIhpWlgaFx8+AjZ9zXgh+s0yq9km5vtQy5bvsl06XPq5+IRaqspW0HPiDn p9LB05lPfhlmuk1LWVOeBM9MKdNn7wlt9JAt8fuHqvE49Nnx9j6BTl6xy3Blg0RPI2Wx RPiys3aKkDsSY/fhDozTWLuUyj3qLk+g2vRBV+OZc9zLfXvJRGZCf1TLBwFWWPzk02aP JVHoz+V9LiHvWem5+QbIimHD7shHkQDLBLipCF3qe4wotkAXHV4I8/eqeMdI3KDv8hh2 vOFIh0AB6Fn+sAYJ7e78zDGtIshmz1IqT0u1IEezZGLcYUhPBYaKcIceBeONjgsEb3C6 5gjA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t6si6271411pgu.154.2019.07.21.04.34.34; Sun, 21 Jul 2019 04:34:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726765AbfGULcR (ORCPT + 99 others); Sun, 21 Jul 2019 07:32:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35746 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726390AbfGULcR (ORCPT ); Sun, 21 Jul 2019 07:32:17 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A06A6307D935; Sun, 21 Jul 2019 11:32:16 +0000 (UTC) Received: from krava.redhat.com (ovpn-204-23.brq.redhat.com [10.40.204.23]) by smtp.corp.redhat.com (Postfix) with ESMTP id 85D275D9D3; Sun, 21 Jul 2019 11:32:12 +0000 (UTC) From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: lkml , Ingo Molnar , Namhyung Kim , Alexander Shishkin , Peter Zijlstra , Andi Kleen , Alexey Budankov , Michael Petlan Subject: [PATCH 67/79] libperf: Add perf_evsel__cpus/threads functions Date: Sun, 21 Jul 2019 13:24:54 +0200 Message-Id: <20190721112506.12306-68-jolsa@kernel.org> In-Reply-To: <20190721112506.12306-1-jolsa@kernel.org> References: <20190721112506.12306-1-jolsa@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Sun, 21 Jul 2019 11:32:16 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Adding following functions: perf_evsel__cpus perf_evsel__threads to access evsel's cpus and threads objects Link: http://lkml.kernel.org/n/tip-av17t1gqrv3nc2rwkiq03g7u@git.kernel.org Signed-off-by: Jiri Olsa --- tools/perf/lib/evsel.c | 10 ++++++++++ tools/perf/lib/include/perf/evsel.h | 2 ++ tools/perf/lib/libperf.map | 2 ++ tools/perf/util/evsel.h | 2 +- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/tools/perf/lib/evsel.c b/tools/perf/lib/evsel.c index c3f3722e9f91..8dbe0e841b8f 100644 --- a/tools/perf/lib/evsel.c +++ b/tools/perf/lib/evsel.c @@ -215,3 +215,13 @@ int perf_evsel__apply_filter(struct perf_evsel *evsel, const char *filter) PERF_EVENT_IOC_SET_FILTER, (void *)filter); } + +struct perf_cpu_map *perf_evsel__cpus(struct perf_evsel *evsel) +{ + return evsel->cpus; +} + +struct perf_thread_map *perf_evsel__threads(struct perf_evsel *evsel) +{ + return evsel->threads; +} diff --git a/tools/perf/lib/include/perf/evsel.h b/tools/perf/lib/include/perf/evsel.h index d1cbd77d5463..af5277debb81 100644 --- a/tools/perf/lib/include/perf/evsel.h +++ b/tools/perf/lib/include/perf/evsel.h @@ -32,5 +32,7 @@ LIBPERF_API int perf_evsel__read(struct perf_evsel *evsel, int cpu, int thread, struct perf_counts_values *count); LIBPERF_API int perf_evsel__enable(struct perf_evsel *evsel); LIBPERF_API int perf_evsel__disable(struct perf_evsel *evsel); +LIBPERF_API struct perf_cpu_map *perf_evsel__cpus(struct perf_evsel *evsel); +LIBPERF_API struct perf_thread_map *perf_evsel__threads(struct perf_evsel *evsel); #endif /* __LIBPERF_EVSEL_H */ diff --git a/tools/perf/lib/libperf.map b/tools/perf/lib/libperf.map index d4d34bea0b40..9f43b5cda031 100644 --- a/tools/perf/lib/libperf.map +++ b/tools/perf/lib/libperf.map @@ -21,6 +21,8 @@ LIBPERF_0.0.1 { perf_evsel__open; perf_evsel__close; perf_evsel__read; + perf_evsel__cpus; + perf_evsel__threads; perf_evlist__new; perf_evlist__delete; perf_evlist__init; diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h index 0989fb2eb1ec..3cf35aa782b9 100644 --- a/tools/perf/util/evsel.h +++ b/tools/perf/util/evsel.h @@ -193,7 +193,7 @@ struct record_opts; static inline struct perf_cpu_map *evsel__cpus(struct evsel *evsel) { - return evsel->core.cpus; + return perf_evsel__cpus(&evsel->core); } static inline int perf_evsel__nr_cpus(struct evsel *evsel) -- 2.21.0