Commit | Line | Data |
---|---|---|
12864b31 NK |
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 | } |