diff options
author | Namhyung Kim <namhyung.kim@lge.com> | 2012-04-26 01:15:22 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-05-02 14:41:11 -0400 |
commit | 12864b31583bcbd26789ebe68c612688f9ee2e30 (patch) | |
tree | 3f83f14d6a22af42388c9e7ebdc5ac5ea41b01cc /tools/perf/util/target.c | |
parent | 770a34a38b74982724dbb099225944b415f90281 (diff) |
perf target: Split out perf_target handling code
For further work on perf_target, it'd be better off splitting the code
into a separate file.
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-9-git-send-email-namhyung.kim@lge.com
[ committer note: Fixed perl build by using stdbool and types.h in target.h ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/target.c')
-rw-r--r-- | tools/perf/util/target.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tools/perf/util/target.c b/tools/perf/util/target.c new file mode 100644 index 000000000000..3fadf85dd7e3 --- /dev/null +++ b/tools/perf/util/target.c | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | * Helper functions for handling target threads/cpus | ||
3 | * | ||
4 | * Copyright (C) 2012, LG Electronics, Namhyung Kim <namhyung.kim@lge.com> | ||
5 | * | ||
6 | * Released under the GPL v2. | ||
7 | */ | ||
8 | |||
9 | #include "target.h" | ||
10 | #include "debug.h" | ||
11 | |||
12 | |||
13 | void perf_target__validate(struct perf_target *target) | ||
14 | { | ||
15 | if (target->pid) | ||
16 | target->tid = target->pid; | ||
17 | |||
18 | /* CPU and PID are mutually exclusive */ | ||
19 | if (target->tid && target->cpu_list) { | ||
20 | ui__warning("WARNING: PID switch overriding CPU\n"); | ||
21 | sleep(1); | ||
22 | target->cpu_list = NULL; | ||
23 | } | ||
24 | |||
25 | /* UID and PID are mutually exclusive */ | ||
26 | if (target->tid && target->uid_str) { | ||
27 | ui__warning("PID/TID switch overriding UID\n"); | ||
28 | sleep(1); | ||
29 | target->uid_str = NULL; | ||
30 | } | ||
31 | |||
32 | /* UID and CPU are mutually exclusive */ | ||
33 | if (target->uid_str && target->cpu_list) { | ||
34 | ui__warning("UID switch overriding CPU\n"); | ||
35 | sleep(1); | ||
36 | target->cpu_list = NULL; | ||
37 | } | ||
38 | |||
39 | /* PID/UID and SYSTEM are mutually exclusive */ | ||
40 | if ((target->tid || target->uid_str) && target->system_wide) { | ||
41 | ui__warning("PID/TID/UID switch overriding CPU\n"); | ||
42 | sleep(1); | ||
43 | target->system_wide = false; | ||
44 | } | ||
45 | } | ||