Re: perf: prctl(PR_TASK_PERF_EVENTS_DISABLE) has no effect
From: Ingo Molnar <hidden>
Date: 2012-01-30 11:31:30
Also in:
lkml
* Peter Zijlstra [off-list ref] wrote:
On Mon, 2012-01-30 at 11:11 +0100, Ingo Molnar wrote:quoted
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