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

From: Naveen N. Rao
Date: Tue Jun 06 2017 - 13:33:32 EST


On 2017/06/06 06:25PM, Peter Zijlstra wrote:
> 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.

Ouch! Sorry.
I did briefly consider labeling this 'EARLY RFC', but that still
wouldn't have done justice :/

Thanks for the review,
- Naveen