Messages in this thread | | | Date | Sat, 21 Mar 2009 20:45:58 +1100 | From | Paul Mackerras <> | Subject | Re: [RFC][PATCH 3/3] perf_counter: new output ABI - part 1 |
| |
Ingo Molnar writes:
> i think it would still be nice to allow plain old-fashioned > poll()+read() loops ... but the logistics of that seem difficult. > mmap() seems to fit this better - and it's probably faster as well. > (as we have to construct the kernel-space pages anyway, so mapping > them isnt that big of an issue) > > per-CPU-ness will be handled naturally via per-cpu counters. > > Paul, can you see any hole/quirkiness in this scheme?
The one thing I can see that we would lose is the ability to have a signal delivered on every event. The PAPI developers want to be able to get a signal generated every time the counter overflows, and previously we could do that using the O_ASYNC flag, but now we'll only get a signal every page's worth of events.
So I think we want userspace to be able to say how often we should generate a poll event, i.e. provide a way for userspace to say "please generate a poll event every N counter events". That would also solve the problem of 1 page not being a valid configuration - you could set the poll interval to the number of events that fit in half a page, for instance.
Paul.
| |