Messages in this thread |  | | Date | Mon, 30 Jan 2012 12:31:15 +0100 | From | Ingo Molnar <> | Subject | Re: perf: prctl(PR_TASK_PERF_EVENTS_DISABLE) has no effect |
| |
* Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> On Mon, 2012-01-30 at 11:11 +0100, Ingo Molnar wrote: > > So, what workflow are you suggesting to Andrew? > > Librarize perf record, then in your code do something like: > > #include "perf_record.h"
Maybe. (and then it shouldnt be limited to perf_record.h but should be events.h plus libevents.so or such)
> > handle = perf_record_init(); /* creates perf events and creates > a record thread that writes samples > to perf.data, consumes env(PERF_*) > for configuration, registers with > at_exit() for cleanup */ > if (!handle) > /* burn */ > > /* do you other code */ > > perf_record_start(handle); > > /* do the bit you want profiled */ > > perf_record_stop(handle); > > Then build with -lperfrecord or so. Not too hard, right?
Isnt a simple prctl() so much easier and faster?
What's your concern with the prctl()? This would arguably be the right kind of usage for prctl(): it's an established API/ABI for process/task-wide settings.
Thanks,
Ingo
|  |