Messages in this thread Patch in this message | | | From | Vince Weaver <> | Date | Fri, 5 Dec 2014 10:41:05 -0500 (EST) | Subject | [patch] perf_event_open.2 exclude_host/exclude_guest clarification |
| |
Hello
The PAPI developers recently ran into some issues with the various virtual machine related settings in the perf_event_open() system call.
What follows is what my proposed updated manpage sections look like; I'm hoping to get some sort of feedback about the correctness of these statements.
exclude_hv If this bit is set, the count excludes events that happen in the hypervisor. This is mainly for PMUs that have built-in hardware support for this feature (such as POWER; this setting is silently ignored on x86).
...
exclude_host (since Linux 3.2) When conducting measurements that include processes running VM instances (i.e. have executed a KVM_RUN ioctl(2) ) only measure events happening inside a guest instance. This is only meaningful outside the guests; this setting does not change counts gathered inside of a guest. Currently this functionality is x86 only.
exclude_guest (since Linux 3.2) When conducting measurements that include processes running VM instances (i.e. have executed a KVM_RUN ioctl(2) ) do not measure events happening inside guest instances. This is only meaningful outside the guests; this setting does not change counts gathered inside of a guest. Currently this functionality is x86 only.
Signed-off-by: Vince Weaver <vincent.weaver@maine.edu>
diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2 index 638124c..a413c13 100644 --- a/man2/perf_event_open.2 +++ b/man2/perf_event_open.2 @@ -833,10 +833,9 @@ If this bit is set, the count excludes events that happen in kernel-space. .IR "exclude_hv" If this bit is set, the count excludes events that happen in the hypervisor. -This is mainly for PMUs that have built-in support for handling this -(such as POWER). -Extra support is needed for handling hypervisor measurements on most -machines. +This is mainly for PMUs that have built-in hardware support +for this feature (such as POWER; this setting is silently +ignored on x86). .TP .IR "exclude_idle" If set, don't count when the CPU is idle. @@ -978,10 +977,24 @@ struct sample_id { .fi .TP .IR "exclude_host" " (since Linux 3.2)" -Do not measure time spent in VM host. +When conducting measurements that include processes running +VM instances (i.e. have executed a +.I KVM_RUN +.BR ioctl (2) +) only measure events happening inside a guest instance. +This is only meaningful outside the guests; this setting does +not change counts gathered inside of a guest. +Currently this functionality is x86 only. .TP .IR "exclude_guest" " (since Linux 3.2)" -Do not measure time spent in VM guest. +When conducting measurements that include processes running +VM instances (i.e. have executed a +.I KVM_RUN +.BR ioctl (2) +) do not measure events happening inside guest instances. +This is only meaningful outside the guests; this setting does +not change counts gathered inside of a guest. +Currently this functionality is x86 only. .TP .IR "exclude_callchain_kernel" " (since Linux 3.7)" Do not include kernel callchains.
| |