-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Namhyung Kim
authored and
Arnaldo Carvalho de Melo
committed
May 2, 2012
1 parent
770a34a
commit 12864b3
Showing
8 changed files
with
68 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
/* | ||
* Helper functions for handling target threads/cpus | ||
* | ||
* Copyright (C) 2012, LG Electronics, Namhyung Kim <namhyung.kim@lge.com> | ||
* | ||
* Released under the GPL v2. | ||
*/ | ||
|
||
#include "target.h" | ||
#include "debug.h" | ||
|
||
|
||
void perf_target__validate(struct perf_target *target) | ||
{ | ||
if (target->pid) | ||
target->tid = target->pid; | ||
|
||
/* CPU and PID are mutually exclusive */ | ||
if (target->tid && target->cpu_list) { | ||
ui__warning("WARNING: PID switch overriding CPU\n"); | ||
sleep(1); | ||
target->cpu_list = NULL; | ||
} | ||
|
||
/* UID and PID are mutually exclusive */ | ||
if (target->tid && target->uid_str) { | ||
ui__warning("PID/TID switch overriding UID\n"); | ||
sleep(1); | ||
target->uid_str = NULL; | ||
} | ||
|
||
/* UID and CPU are mutually exclusive */ | ||
if (target->uid_str && target->cpu_list) { | ||
ui__warning("UID switch overriding CPU\n"); | ||
sleep(1); | ||
target->cpu_list = NULL; | ||
} | ||
|
||
/* PID/UID and SYSTEM are mutually exclusive */ | ||
if ((target->tid || target->uid_str) && target->system_wide) { | ||
ui__warning("PID/TID/UID switch overriding CPU\n"); | ||
sleep(1); | ||
target->system_wide = false; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#ifndef _PERF_TARGET_H | ||
#define _PERF_TARGET_H | ||
|
||
#include <stdbool.h> | ||
#include <sys/types.h> | ||
|
||
struct perf_target { | ||
const char *pid; | ||
const char *tid; | ||
const char *cpu_list; | ||
const char *uid_str; | ||
uid_t uid; | ||
bool system_wide; | ||
}; | ||
|
||
void perf_target__validate(struct perf_target *target); | ||
|
||
#endif /* _PERF_TARGET_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters