Skip to contentSkip to conversation

perf evsel: Rename set_filter to apply_filter

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Jul 6, 2015 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  f47805a2af3ba83881ca52434bbbc6e9886b72fd
Gitweb:     http://git.kernel.org/tip/f47805a2af3ba83881ca52434bbbc6e9886b72fd
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Fri, 3 Jul 2015 15:53:49 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Mon, 6 Jul 2015 10:45:56 -0300

perf evsel: Rename set_filter to apply_filter

We need to be able to go on constructing a complex filter in multiple stages, since we can only set one filter per event.

For instance, we need to be able, in 'perf trace' to filter by the 'common_pid' field all the time, if only for the tracer itself, to avoid a feedback loop, and, in addition, we may want to filter the raw_syscalls:sys_{enter,exit} events by its 'id' filter, when using 'perf trace -e open,close' or 'perf trace -e !open,close', i.e. when we are interested in just a subset of syscalls or when we are not interested in it.

So we will have:

perf_evsel__set_filter(evsel, char *filter)

       Replaces whatever is in evsel->filter.

perf_evsel__append_filter(evsel, const char *op, char *filter)

       Appends, using op ("&&" or "||") with what is in evsel->filter.

perf_evsel__apply_filter(evsel, filter):

That actually applies a filter, be it the one being constructed in evsel->filter, or any other, for tools with more specific ways to build the filter, issuing the appropriate ioctl for all the evsel fds.

The same changes will be made to the evlist__{set,apply} variants to keep everything consistent.

Cc Adrian Hunter <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Stephane Eranian <[email protected]>
---
 tools/perf/util/evlist.c | 4 ++--
 tools/perf/util/evsel.c  | 4 ++--
 tools/perf/util/evsel.h  | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)
tools/perf/util/evlist.c +2 -2
index 6cfdee6..5191328 100644
@@ -1161,7 +1161,7 @@ int perf_evlist__apply_filters(struct perf_evlist *evlist, struct perf_evsel **e
 		if (evsel->filter == NULL)
 			continue;
 
-		err = perf_evsel__set_filter(evsel, ncpus, nthreads, evsel->filter);
+		err = perf_evsel__apply_filter(evsel, ncpus, nthreads, evsel->filter);
 		if (err) {
 			*err_evsel = evsel;
 			break;
@@ -1179,7 +1179,7 @@ int perf_evlist__set_filter(struct perf_evlist *evlist, const char *filter)
 		  nthreads = thread_map__nr(evlist->threads);
 
 	evlist__for_each(evlist, evsel) {
-		err = perf_evsel__set_filter(evsel, ncpus, nthreads, filter);
+		err = perf_evsel__apply_filter(evsel, ncpus, nthreads, filter);
 		if (err)
 			break;
 	}
tools/perf/util/evsel.c +2 -2
index 2936b30..6676774 100644
@@ -815,8 +815,8 @@ static int perf_evsel__run_ioctl(struct perf_evsel *evsel, int ncpus, int nthrea
 	return 0;
 }
 
-int perf_evsel__set_filter(struct perf_evsel *evsel, int ncpus, int nthreads,
-			   const char *filter)
+int perf_evsel__apply_filter(struct perf_evsel *evsel, int ncpus, int nthreads,
+			     const char *filter)
 {
 	return perf_evsel__run_ioctl(evsel, ncpus, nthreads,
 				     PERF_EVENT_IOC_SET_FILTER,
tools/perf/util/evsel.h +2 -2
index 4a7ed56..a3ebb83 100644
@@ -182,8 +182,8 @@ void __perf_evsel__reset_sample_bit(struct perf_evsel *evsel,
 void perf_evsel__set_sample_id(struct perf_evsel *evsel,
 			       bool use_sample_identifier);
 
-int perf_evsel__set_filter(struct perf_evsel *evsel, int ncpus, int nthreads,
-			   const char *filter);
+int perf_evsel__apply_filter(struct perf_evsel *evsel, int ncpus, int nthreads,
+			     const char *filter);
 int perf_evsel__enable(struct perf_evsel *evsel, int ncpus, int nthreads);
 
 int perf_evsel__open_per_cpu(struct perf_evsel *evsel,