From: Adrian Hunter Date: Mon, 11 Jul 2022 09:32:10 +0000 (+0300) Subject: perf tools: Add perf_event__is_guest() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f9de2f0fd35f23564c9ab5e8c5873e9087042b64;p=linux.git perf tools: Add perf_event__is_guest() Add a helper function to determine if an event is a guest event. Signed-off-by: Adrian Hunter Cc: Andi Kleen Cc: Ian Rogers Cc: Jiri Olsa Cc: Namhyung Kim Cc: kvm@vger.kernel.org Link: https://lore.kernel.org/r/20220711093218.10967-28-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h index a660f304f83c3..a7b0931d51379 100644 --- a/tools/perf/util/event.h +++ b/tools/perf/util/event.h @@ -484,4 +484,25 @@ void arch_perf_synthesize_sample_weight(const struct perf_sample *data, __u64 *a const char *arch_perf_header_entry(const char *se_header); int arch_support_sort_key(const char *sort_key); +static inline bool perf_event_header__cpumode_is_guest(u8 cpumode) +{ + return cpumode == PERF_RECORD_MISC_GUEST_KERNEL || + cpumode == PERF_RECORD_MISC_GUEST_USER; +} + +static inline bool perf_event_header__misc_is_guest(u16 misc) +{ + return perf_event_header__cpumode_is_guest(misc & PERF_RECORD_MISC_CPUMODE_MASK); +} + +static inline bool perf_event_header__is_guest(const struct perf_event_header *header) +{ + return perf_event_header__misc_is_guest(header->misc); +} + +static inline bool perf_event__is_guest(const union perf_event *event) +{ + return perf_event_header__is_guest(&event->header); +} + #endif /* __PERF_RECORD_H */