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