[Intel-gfx] [RFC PATCH 03/11] perf: Add PERF_EVENT_IOC_FLUSH ioctl

Chris Wilson chris at chris-wilson.co.uk
Thu May 7 07:20:09 PDT 2015


On Thu, May 07, 2015 at 03:15:46PM +0100, Robert Bragg wrote:
> To allow for pmus that may have internal buffering (e.g. the hardware
> itself writes out data to its own circular buffer which is only
> periodically forwarded to userspace via perf) this ioctl enables
> userspace to explicitly ensure it has received all samples before a
> point in time.
> 
> Signed-off-by: Robert Bragg <robert at sixbynine.org>
> ---
>  include/linux/perf_event.h      | 7 +++++++
>  include/uapi/linux/perf_event.h | 1 +
>  kernel/events/core.c            | 5 +++++
>  3 files changed, 13 insertions(+)
> 
> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> index 1af35b4..69a0cb9 100644
> --- a/include/linux/perf_event.h
> +++ b/include/linux/perf_event.h
> @@ -266,6 +266,13 @@ struct pmu {
>  	 * flush branch stack on context-switches (needed in cpu-wide mode)
>  	 */
>  	void (*flush_branch_stack)	(void);
> +
> +	/*
> +	 * Flush buffered samples (E.g. for pmu hardware that writes samples to
> +	 * some intermediate buffer) userspace may need to explicitly ensure
> +	 * such samples have been forwarded to perf.
> +	 */
> +	void (*flush)			(struct perf_event *event); /*optional */

void return?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list