Re: How about limiting refresh ioctl to sampling events ?

From: Franck Bui-Huu
Date: Tue Nov 23 2010 - 08:19:36 EST


Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> writes:

> On Tue, 2010-11-23 at 14:01 +0100, Franck Bui-Huu wrote:
>> Hello Peter,
>>
>> I'm looking at the perf event stuff and wondering if
>
>> perf_event_refresh() should be limited to sampling events.
>>
>> Does the following make sense ?
>>
>> diff --git a/kernel/perf_event.c b/kernel/perf_event.c
>> index 3b105e0..1a90a6c 100644
>> --- a/kernel/perf_event.c
>> +++ b/kernel/perf_event.c
>> @@ -1072,7 +1072,7 @@ static int perf_event_refresh(struct perf_event *event, int refresh)
>> /*
>> * not supported on inherited events
>> */
>> - if (event->attr.inherit)
>> + if (event->attr.inherit || !event->attr.sample_period)
>> return -EINVAL;
>>
>> atomic_add(refresh, &event->event_limit);
>
> Yes it does, please submit as a proper patch.

Ok.

I'm also wondering if you would accept a second patch which will
introduce:

static inline bool is_sampling_event(struct perf_event *event)
{
return event->attr.sample_period != 0;
}

That would make the code slighlty easier to read IMHO.

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