diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/util/evlist.c | 13 | ||||
-rw-r--r-- | tools/perf/util/evlist.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index a8b2c5726aba..39302a455a58 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c | |||
@@ -1085,6 +1085,19 @@ int perf_evlist__set_filter(struct perf_evlist *evlist, const char *filter) | |||
1085 | return err; | 1085 | return err; |
1086 | } | 1086 | } |
1087 | 1087 | ||
1088 | int perf_evlist__set_filter_pid(struct perf_evlist *evlist, pid_t pid) | ||
1089 | { | ||
1090 | char *filter; | ||
1091 | int ret; | ||
1092 | |||
1093 | if (asprintf(&filter, "common_pid != %d", pid) < 0) | ||
1094 | return -1; | ||
1095 | |||
1096 | ret = perf_evlist__set_filter(evlist, filter); | ||
1097 | free(filter); | ||
1098 | return ret; | ||
1099 | } | ||
1100 | |||
1088 | bool perf_evlist__valid_sample_type(struct perf_evlist *evlist) | 1101 | bool perf_evlist__valid_sample_type(struct perf_evlist *evlist) |
1089 | { | 1102 | { |
1090 | struct perf_evsel *pos; | 1103 | struct perf_evsel *pos; |
diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h index c94a9e03ecf1..715fa3a296f4 100644 --- a/tools/perf/util/evlist.h +++ b/tools/perf/util/evlist.h | |||
@@ -77,6 +77,7 @@ int perf_evlist__add_newtp(struct perf_evlist *evlist, | |||
77 | const char *sys, const char *name, void *handler); | 77 | const char *sys, const char *name, void *handler); |
78 | 78 | ||
79 | int perf_evlist__set_filter(struct perf_evlist *evlist, const char *filter); | 79 | int perf_evlist__set_filter(struct perf_evlist *evlist, const char *filter); |
80 | int perf_evlist__set_filter_pid(struct perf_evlist *evlist, pid_t pid); | ||
80 | 81 | ||
81 | struct perf_evsel * | 82 | struct perf_evsel * |
82 | perf_evlist__find_tracepoint_by_id(struct perf_evlist *evlist, int id); | 83 | perf_evlist__find_tracepoint_by_id(struct perf_evlist *evlist, int id); |