Re: [patch] perf_event_open.2 clarify the PERF_FLAG_FD_* flags

From: Michael Kerrisk (man-pages)
Date: Fri Jan 09 2015 - 08:15:31 EST


Hi Vince,

On 01/08/2015 06:04 PM, Vince Weaver wrote:
>
> This change clarifies the behavior of the PERF_FLAG_FD_OUTPUT and
> PERF_FLAG_FD_NO_GROUP flags to perf_event_open(), and removes
> the related FIXME comments.

Patch applied. Thank you!

> While writing tests to validate the behavior of these flags I
> discovered that PERF_FLAG_FD_OUTPUT has been broken since the
> 2.6.35 kernel release.

Sigh!

Cheers,

Michael


> Signed-off-by: Vince Weaver <vincent.weaver@xxxxxxxxx>
>
> diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2
> index 8bde791..7181c29 100644
> --- a/man2/perf_event_open.2
> +++ b/man2/perf_event_open.2
> @@ -149,14 +149,17 @@ then
> .BR execve (2).
> .TP
> .BR PERF_FLAG_FD_NO_GROUP
> -.\" FIXME . The following sentence is unclear
> -This flag allows creating an event as part of an event group but
> -having no group leader.
> -It is unclear why this is useful.
> -.\" FIXME . So, why is it useful?
> -.TP
> -.BR PERF_FLAG_FD_OUTPUT
> -This flag reroutes the output from an event to the group leader.
> +This flag tells the event to ignore the
> +.IR group_fd
> +parameter except for the purpose of setting up output redirection
> +using the
> +.B PERF_FLAG_FD_OUTPUT
> +flag.
> +.TP
> +.BR PERF_FLAG_FD_OUTPUT " (broken since Linux 2.6.35)."
> +This flag re-routes the event's sampled output to instead
> +be included in the mmap buffer of the event specified by
> +.IR group_fd .
> .TP
> .BR PERF_FLAG_PID_CGROUP " (since Linux 2.6.39)."
> This flag activates per-container system-wide monitoring.
>


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