Messages in this thread | | | From | Franck Bui-Huu <> | Subject | Re: How about limiting refresh ioctl to sampling events ? | Date | Tue, 23 Nov 2010 14:19:25 +0100 |
| |
Peter Zijlstra <a.p.zijlstra@chello.nl> 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
| |