From: Jiri Olsa <jolsa@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
David Ahern <dsahern@gmail.com>, Ingo Molnar <mingo@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Adrian Hunter <adrian.hunter@intel.com>
Subject: [PATCH 3/7] perf tools: Factor perf_evlist__(enable|disable) functions
Date: Thu, 3 Dec 2015 10:06:42 +0100 [thread overview]
Message-ID: <1449133606-14429-4-git-send-email-jolsa@kernel.org> (raw)
In-Reply-To: <1449133606-14429-1-git-send-email-jolsa@kernel.org>
Use perf_evsel__(enable|disable) functions in perf_evlist__(enable|disable)
functions in order to centralize ioctl enable/disable calls. This way we
eliminate 2 places calling directly ioctl.
Link: http://lkml.kernel.org/n/tip-0jrocwelrmn4sflhzjulj0rv@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
tools/perf/util/evlist.c | 32 ++++++++------------------------
1 file changed, 8 insertions(+), 24 deletions(-)
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index d1392194a9a9..d1b6c206bb93 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -336,20 +336,12 @@ static int perf_evlist__nr_threads(struct perf_evlist *evlist,
void perf_evlist__disable(struct perf_evlist *evlist)
{
- int cpu, thread;
struct perf_evsel *pos;
- int nr_cpus = cpu_map__nr(evlist->cpus);
- int nr_threads;
- for (cpu = 0; cpu < nr_cpus; cpu++) {
- evlist__for_each(evlist, pos) {
- if (!perf_evsel__is_group_leader(pos) || !pos->fd)
- continue;
- nr_threads = perf_evlist__nr_threads(evlist, pos);
- for (thread = 0; thread < nr_threads; thread++)
- ioctl(FD(pos, cpu, thread),
- PERF_EVENT_IOC_DISABLE, 0);
- }
+ evlist__for_each(evlist, pos) {
+ if (!perf_evsel__is_group_leader(pos) || !pos->fd)
+ continue;
+ perf_evsel__disable(pos);
}
evlist->enabled = false;
@@ -357,20 +349,12 @@ void perf_evlist__disable(struct perf_evlist *evlist)
void perf_evlist__enable(struct perf_evlist *evlist)
{
- int cpu, thread;
struct perf_evsel *pos;
- int nr_cpus = cpu_map__nr(evlist->cpus);
- int nr_threads;
- for (cpu = 0; cpu < nr_cpus; cpu++) {
- evlist__for_each(evlist, pos) {
- if (!perf_evsel__is_group_leader(pos) || !pos->fd)
- continue;
- nr_threads = perf_evlist__nr_threads(evlist, pos);
- for (thread = 0; thread < nr_threads; thread++)
- ioctl(FD(pos, cpu, thread),
- PERF_EVENT_IOC_ENABLE, 0);
- }
+ evlist__for_each(evlist, pos) {
+ if (!perf_evsel__is_group_leader(pos) || !pos->fd)
+ continue;
+ perf_evsel__enable(pos);
}
evlist->enabled = true;
--
2.4.3
next prev parent reply other threads:[~2015-12-03 9:12 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-03 9:06 [PATCH 0/7] perf stat: Change event enable code Jiri Olsa
2015-12-03 9:06 ` [PATCH 1/7] perf tools: Use event maps directly in perf_evsel__enable Jiri Olsa
2015-12-08 4:33 ` [tip:perf/core] perf evsel: " tip-bot for Jiri Olsa
2015-12-03 9:06 ` [PATCH 2/7] perf tools: Introduce perf_evsel__disable function Jiri Olsa
2015-12-08 4:33 ` [tip:perf/core] perf evsel: Introduce disable() method tip-bot for Jiri Olsa
2015-12-03 9:06 ` Jiri Olsa [this message]
2015-12-08 4:33 ` [tip:perf/core] perf evlist: Factor perf_evlist__(enable|disable) functions tip-bot for Jiri Olsa
2015-12-03 9:06 ` [PATCH 4/7] perf stat: Use perf_evlist__enable in handle_initial_delay Jiri Olsa
2015-12-08 4:34 ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-12-03 9:06 ` [PATCH 5/7] perf stat: Create events as disabled Jiri Olsa
2015-12-08 4:34 ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-12-03 9:06 ` [PATCH 6/7] perf stat: Move enable_on_exec setup under earlier code Jiri Olsa
2015-12-08 4:34 ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-12-03 9:06 ` [RFC 7/7] perf tools: Remove perf_evlist__(enable|disable)_event functions Jiri Olsa
2015-12-03 9:09 ` [PATCH 0/7] perf stat: Change event enable code Jiri Olsa
2015-12-07 21:09 ` Arnaldo Carvalho de Melo
2015-12-08 7:29 ` Adrian Hunter
2015-12-08 13:53 ` Arnaldo Carvalho de Melo
2015-12-09 13:44 ` Adrian Hunter
2015-12-11 12:42 ` Adrian Hunter
2015-12-16 15:55 ` Jiri Olsa
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=1449133606-14429-4-git-send-email-jolsa@kernel.org \
--to=jolsa@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=dsahern@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@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.