[lkml]   [2015]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[patch] perf_event_open.2: Clarify PERF_EVENT_IOC_REFRESH behavior

Currently the PERF_EVENT_IOC_REFRESH ioctl, when applied to a group
leader, will refresh all children. Also if a refresh value of 0
is chosen then the refresh becomes infinite (never runs out).
Back in 2011 PAPI was relying on these behaviors but I was told
that both were unsupported and subject to being removed at any time.
(See )
However the behavior has not been changed.

This patch updates the manpage to still list the behavior as
unsupported, but removes the innacurate description of it
only being a problem with 2.6 kernels.

Signed-off-by: Vince Weaver <>

diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2
index 39c8d8c..76136e2 100644
--- a/man2/perf_event_open.2
+++ b/man2/perf_event_open.2
@@ -2353,6 +2353,12 @@ once the counter reaches 0
is indicated and
the underlying event is disabled.

+Refreshing an event group leader refreshes all siblings and
+refreshing with a parameter of 0 currently enables infinite
+these behaviors are unsupported and should not be relied on.
+.\" See
Starting with Linux 3.18,
.\" commit 179033b3e064d2cd3f5f9945e76b0a0f0fbf4883
@@ -2805,11 +2811,6 @@ Prior to Linux 2.6.35,
did not work with attached processes.

-In older Linux 2.6 versions,
-refreshing an event group leader refreshed all siblings,
-and refreshing with a parameter of 0 enabled infinite refresh.
-This behavior is unsupported and should not be relied on.
There is a bug in the kernel code between
Linux 2.6.36 and Linux 3.0 that ignores the
"watermark" field and acts as if a wakeup_event

 \ /
  Last update: 2015-02-12 18:21    [W:0.037 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site