Messages in this thread | | | Subject | Re: How about limiting refresh ioctl to sampling events ? | From | Peter Zijlstra <> | Date | Tue, 23 Nov 2010 14:46:20 +0100 |
| |
On Tue, 2010-11-23 at 14:19 +0100, Franck Bui-Huu wrote: > 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. >
Sure, Francis might want that too, he found another something like this.
| |