Re: [patch] perf_event_open.2: Clarify PERF_EVENT_IOC_REFRESH behavior

From: Michael Kerrisk (man-pages)
Date: Tue Feb 17 2015 - 00:34:53 EST


On 02/12/2015 06:14 PM, Vince Weaver wrote:
>
> 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 https://lkml.org/lkml/2011/5/24/337 )
> However the behavior has not been changed.

Thanks, Vince. Applied.

Cheers,

Michael


> 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 <vincent.weaver@xxxxxxxxx>
>
> 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
> +refreshes;
> +these behaviors are unsupported and should not be relied on.
> +.\" See https://lkml.org/lkml/2011/5/24/337
> +
> Starting with Linux 3.18,
> .\" commit 179033b3e064d2cd3f5f9945e76b0a0f0fbf4883
> .B POLL_HUP
> @@ -2805,11 +2811,6 @@ Prior to Linux 2.6.35,
> .B PERF_FORMAT_GROUP
> 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
>
>


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