Re: [RFC PATCH 1/1] kernel/events: Introduce IOC_COUNT_RECORDS

From: Peter Zijlstra
Date: Tue Jun 06 2017 - 12:25:47 EST


On Tue, Jun 06, 2017 at 08:21:18PM +0530, Naveen N. Rao wrote:
> Many perf sideband events (context switches, namespaces, ...) are useful
> by themselves without the need for subscribing to any overflow events.
> However, it is not possible to subscribe for notifications when such
> records are logged into the ring buffer. Introduce IOC_COUNT_RECORDS as
> a way to request this.
>
> With IOC_COUNT_RECORDS set, IOC_REFRESH takes the number of records
> after which to generate a notification, rather than the number of
> overflow events.
>
> Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>
> ---
> include/linux/perf_event.h | 1 +
> include/uapi/linux/perf_event.h | 1 +
> kernel/events/core.c | 16 +++++++++++++++-
> kernel/events/ring_buffer.c | 9 +++++++++
> 4 files changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> index 24a635887f28..016f2da2bba7 100644
> --- a/include/linux/perf_event.h
> +++ b/include/linux/perf_event.h
> @@ -683,6 +683,7 @@ struct perf_event {
> struct irq_work pending;
>
> atomic_t event_limit;
> + bool count_records;

This is an instant nack ;-) Never, that is _never_ use bool in composite
types.