perf evlist: Fix creation of cpu map
[deliverable/linux.git] / tools / perf / util / target.c
CommitLineData
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
13void 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}
This page took 0.026999 seconds and 5 git commands to generate.