Messages in this thread Patch in this message | | | From | Namhyung Kim <> | Subject | [PATCH 06/11] perf tools: Check more combinations of PID/TID, UID and CPU switches | Date | Mon, 13 Feb 2012 16:27:38 +0900 |
| |
There were some combinations of these switches that are not so appropriate IMHO. Since there are implicit priorities between them, they worked well anyway, but end up opening useless duplicated events. For example, 'perf stat -t <pid> -a' will open multiple events for the thread instead of one.
Add explicit checks and warn user in check_target_maps().
Signed-off-by: Namhyung Kim <namhyung.kim@lge.com> --- tools/perf/util/usage.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/usage.c b/tools/perf/util/usage.c index d235013600e5..08423c037a7e 100644 --- a/tools/perf/util/usage.c +++ b/tools/perf/util/usage.c @@ -133,4 +133,17 @@ void check_target_maps(struct perf_maps_opts *maps) maps->uid_str = NULL; } + /* UID and CPU are mutually exclusive */ + if (maps->uid_str && maps->cpu_list) { + ui__warning("UID switch overriding CPU\n"); + sleep(1); + maps->cpu_list = NULL; + } + + /* PID/UID and SYSTEM are mutually exclusive */ + if ((maps->target_tid > 0 || maps->uid_str) && maps->system_wide) { + ui__warning("PID/TID/UID switch overriding CPU\n"); + sleep(1); + maps->system_wide = false; + } } -- 1.7.9
| |