lkml.org 
[lkml]   [2014]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
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.

\
 
 \ /
  Last update: 2014-12-05 17:21    [W:0.463 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site