From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933256AbbI2IsO (ORCPT ); Tue, 29 Sep 2015 04:48:14 -0400 Received: from terminus.zytor.com ([198.137.202.10]:37930 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933005AbbI2IsG (ORCPT ); Tue, 29 Sep 2015 04:48:06 -0400 Date: Tue, 29 Sep 2015 01:47:53 -0700 From: tip-bot for Adrian Hunter Message-ID: Cc: jolsa@redhat.com, hpa@zytor.com, adrian.hunter@intel.com, mingo@kernel.org, linux-kernel@vger.kernel.org, acme@redhat.com, tglx@linutronix.de Reply-To: linux-kernel@vger.kernel.org, acme@redhat.com, tglx@linutronix.de, jolsa@redhat.com, adrian.hunter@intel.com, hpa@zytor.com, mingo@kernel.org In-Reply-To: <1443186956-18718-22-git-send-email-adrian.hunter@intel.com> References: <1443186956-18718-22-git-send-email-adrian.hunter@intel.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf evlist: Add perf_evlist__id2evsel_strict() Git-Commit-ID: dddcf6abbf5946f9ec1183dd2099cede6dbe12fc X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: dddcf6abbf5946f9ec1183dd2099cede6dbe12fc Gitweb: http://git.kernel.org/tip/dddcf6abbf5946f9ec1183dd2099cede6dbe12fc Author: Adrian Hunter AuthorDate: Fri, 25 Sep 2015 16:15:52 +0300 Committer: Arnaldo Carvalho de Melo CommitDate: Mon, 28 Sep 2015 17:11:00 -0300 perf evlist: Add perf_evlist__id2evsel_strict() perf_evlist__id2evsel_strict() is the same as perf_evlist__id2evsel() except that it ensures that the id must match. This will be used by perf inject to find a specific evsel that is to be deleted, hence the need to match exactly. Signed-off-by: Adrian Hunter Cc: Jiri Olsa Link: http://lkml.kernel.org/r/1443186956-18718-22-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/evlist.c | 15 +++++++++++++++ tools/perf/util/evlist.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index a864373..e676038 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c @@ -617,6 +617,21 @@ struct perf_evsel *perf_evlist__id2evsel(struct perf_evlist *evlist, u64 id) return NULL; } +struct perf_evsel *perf_evlist__id2evsel_strict(struct perf_evlist *evlist, + u64 id) +{ + struct perf_sample_id *sid; + + if (!id) + return NULL; + + sid = perf_evlist__id2sid(evlist, id); + if (sid) + return sid->evsel; + + return NULL; +} + static int perf_evlist__event2id(struct perf_evlist *evlist, union perf_event *event, u64 *id) { diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h index 115d8b5..0edf0d4 100644 --- a/tools/perf/util/evlist.h +++ b/tools/perf/util/evlist.h @@ -104,6 +104,8 @@ int perf_evlist__filter_pollfd(struct perf_evlist *evlist, short revents_and_mas int perf_evlist__poll(struct perf_evlist *evlist, int timeout); struct perf_evsel *perf_evlist__id2evsel(struct perf_evlist *evlist, u64 id); +struct perf_evsel *perf_evlist__id2evsel_strict(struct perf_evlist *evlist, + u64 id); struct perf_sample_id *perf_evlist__id2sid(struct perf_evlist *evlist, u64 id);