From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@intel.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 05/15] perf evlist: Add has_user_cpus member
Date: Tue, 15 Sep 2015 12:08:50 -0300 [thread overview]
Message-ID: <1442329740-18042-6-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1442329740-18042-1-git-send-email-acme@kernel.org>
From: Adrian Hunter <adrian.hunter@intel.com>
Subsequent patches will need to call perf_evlist__propagate_maps without
reference to a "target". Add evlist->has_user_cpus to record whether
the user has specified which cpus to target (and therefore whether that
list of cpus should override the default settings for a selected event
i.e. the cpu maps should be propagated)
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Link: http://lkml.kernel.org/r/1441699142-18905-5-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/evlist.c | 11 ++++++-----
tools/perf/util/evlist.h | 1 +
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 785bfd392039..3a4445f26a2c 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -1103,8 +1103,7 @@ int perf_evlist__mmap(struct perf_evlist *evlist, unsigned int pages,
return perf_evlist__mmap_ex(evlist, pages, overwrite, 0, false);
}
-static void perf_evlist__propagate_maps(struct perf_evlist *evlist,
- bool has_user_cpus)
+static void perf_evlist__propagate_maps(struct perf_evlist *evlist)
{
struct perf_evsel *evsel;
@@ -1113,7 +1112,7 @@ static void perf_evlist__propagate_maps(struct perf_evlist *evlist,
* We already have cpus for evsel (via PMU sysfs) so
* keep it, if there's no target cpu list defined.
*/
- if (!evsel->cpus || has_user_cpus) {
+ if (!evsel->cpus || evlist->has_user_cpus) {
cpu_map__put(evsel->cpus);
evsel->cpus = cpu_map__get(evlist->cpus);
}
@@ -1138,7 +1137,9 @@ int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target)
if (evlist->cpus == NULL)
goto out_delete_threads;
- perf_evlist__propagate_maps(evlist, !!target->cpu_list);
+ evlist->has_user_cpus = !!target->cpu_list;
+
+ perf_evlist__propagate_maps(evlist);
return 0;
@@ -1157,7 +1158,7 @@ void perf_evlist__set_maps(struct perf_evlist *evlist, struct cpu_map *cpus,
thread_map__put(evlist->threads);
evlist->threads = threads;
- perf_evlist__propagate_maps(evlist, false);
+ perf_evlist__propagate_maps(evlist);
}
int perf_evlist__apply_filters(struct perf_evlist *evlist, struct perf_evsel **err_evsel)
diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h
index da2fa9172bd6..cfc4df68a9db 100644
--- a/tools/perf/util/evlist.h
+++ b/tools/perf/util/evlist.h
@@ -42,6 +42,7 @@ struct perf_evlist {
int nr_mmaps;
bool overwrite;
bool enabled;
+ bool has_user_cpus;
size_t mmap_len;
int id_pos;
int is_pos;
--
2.1.0
next prev parent reply other threads:[~2015-09-15 15:12 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-15 15:08 [GIT PULL 00/15] perf/urgent fixes Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 01/15] perf top: Fix segfault pressing -> with no hist entries Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 02/15] perf evlist: Simplify propagate_maps() logic Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 03/15] perf evlist: Simplify set_maps() logic Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 04/15] perf evlist: Remove redundant validation from propagate_maps() Arnaldo Carvalho de Melo
2015-09-15 15:08 ` Arnaldo Carvalho de Melo [this message]
2015-09-15 15:08 ` [PATCH 06/15] perf evlist: Fix splice_list_tail() not setting evlist Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 07/15] perf evlist: Fix missing thread_map__put in propagate_maps() Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 08/15] perf evsel: Add own_cpus member Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 09/15] perf evlist: Make set_maps() more resilient Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 10/15] perf evlist: Make create_maps() use set_maps() Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 11/15] perf evlist: Factor out a function to propagate maps for a single evsel Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 12/15] perf evlist: Fix add() not propagating maps Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 13/15] perf evlist: Fix create_syswide_maps() " Arnaldo Carvalho de Melo
2015-09-15 15:08 ` [PATCH 14/15] perf tests: Fix task exit test setting maps Arnaldo Carvalho de Melo
2015-09-15 15:09 ` [PATCH 15/15] perf tests: Fix software clock events " Arnaldo Carvalho de Melo
2015-09-16 7:09 ` [GIT PULL 00/15] perf/urgent fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1442329740-18042-6-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=kan.liang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.