Re: [patch] perf_event_open.2 exclude_host/exclude_guest clarification

From: Michael Kerrisk (man-pages)
Date: Tue Jan 06 2015 - 01:45:43 EST


Hi Vince et al,

On 12/05/2014 04:41 PM, Vince Weaver wrote:
> 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.

Vince, thanks for the proposed patches.

Does anyone have feedback about the correctness of Vince's proposed patches?

>
> 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.

Thanks,

Michael


--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/