diff options
Diffstat (limited to 'tools/perf/util/target.h')
| -rw-r--r-- | tools/perf/util/target.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/perf/util/target.h b/tools/perf/util/target.h index 2d0c50690892..7381b1ca4041 100644 --- a/tools/perf/util/target.h +++ b/tools/perf/util/target.h | |||
| @@ -12,7 +12,8 @@ struct target { | |||
| 12 | uid_t uid; | 12 | uid_t uid; |
| 13 | bool system_wide; | 13 | bool system_wide; |
| 14 | bool uses_mmap; | 14 | bool uses_mmap; |
| 15 | bool force_per_cpu; | 15 | bool default_per_cpu; |
| 16 | bool per_thread; | ||
| 16 | }; | 17 | }; |
| 17 | 18 | ||
| 18 | enum target_errno { | 19 | enum target_errno { |
| @@ -33,6 +34,7 @@ enum target_errno { | |||
| 33 | TARGET_ERRNO__UID_OVERRIDE_CPU, | 34 | TARGET_ERRNO__UID_OVERRIDE_CPU, |
| 34 | TARGET_ERRNO__PID_OVERRIDE_SYSTEM, | 35 | TARGET_ERRNO__PID_OVERRIDE_SYSTEM, |
| 35 | TARGET_ERRNO__UID_OVERRIDE_SYSTEM, | 36 | TARGET_ERRNO__UID_OVERRIDE_SYSTEM, |
| 37 | TARGET_ERRNO__SYSTEM_OVERRIDE_THREAD, | ||
| 36 | 38 | ||
| 37 | /* for target__parse_uid() */ | 39 | /* for target__parse_uid() */ |
| 38 | TARGET_ERRNO__INVALID_UID, | 40 | TARGET_ERRNO__INVALID_UID, |
| @@ -61,4 +63,17 @@ static inline bool target__none(struct target *target) | |||
| 61 | return !target__has_task(target) && !target__has_cpu(target); | 63 | return !target__has_task(target) && !target__has_cpu(target); |
| 62 | } | 64 | } |
| 63 | 65 | ||
| 66 | static inline bool target__uses_dummy_map(struct target *target) | ||
| 67 | { | ||
| 68 | bool use_dummy = false; | ||
| 69 | |||
| 70 | if (target->default_per_cpu) | ||
| 71 | use_dummy = target->per_thread ? true : false; | ||
| 72 | else if (target__has_task(target) || | ||
| 73 | (!target__has_cpu(target) && !target->uses_mmap)) | ||
| 74 | use_dummy = true; | ||
| 75 | |||
| 76 | return use_dummy; | ||
| 77 | } | ||
| 78 | |||
| 64 | #endif /* _PERF_TARGET_H */ | 79 | #endif /* _PERF_TARGET_H */ |
