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@xxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html