diff options
author | Namhyung Kim <namhyung.kim@lge.com> | 2012-04-26 14:15:18 +0900 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-05-02 15:22:08 -0300 |
commit | 4bd0f2d2c0cf14de9c84c2fe689120c6b0f667c8 (patch) | |
tree | d663fdacac1c3d0dd2c75f939fddbe63d2aa86ba /tools/perf/builtin-top.c | |
parent | fe9d18a71d2018f8021fd2bd2aaf5137954ef839 (diff) |
perf tools: Introduce perf_target__validate() helper
The perf_target__validate function is used to check given PID/TID/UID/CPU
target options and warn if some combination is impossible. Also this can
make some arguments of parse_target_uid() function useless as it is checked
before the call via our new helper.
Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1335417327-11796-5-git-send-email-namhyung.kim@lge.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-top.c')
-rw-r--r-- | tools/perf/builtin-top.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 2c1c207627b..4f47952eddb 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -1252,21 +1252,12 @@ int cmd_top(int argc, const char **argv, const char *prefix __used) setup_browser(false); - top.target.uid = parse_target_uid(top.target.uid_str, top.target.tid, - top.target.pid); + perf_target__validate(&top.target); + + top.target.uid = parse_target_uid(top.target.uid_str); if (top.target.uid_str != NULL && top.target.uid == UINT_MAX - 1) goto out_delete_evlist; - /* CPU and PID are mutually exclusive */ - if (top.target.tid && top.target.cpu_list) { - printf("WARNING: PID switch overriding CPU\n"); - sleep(1); - top.target.cpu_list = NULL; - } - - if (top.target.pid) - top.target.tid = top.target.pid; - if (perf_evlist__create_maps(top.evlist, top.target.pid, top.target.tid, top.target.uid, top.target.cpu_list) < 0) |