Messages in this thread | | | Subject | Re: [question] perf_event, ptrace | From | Peter Zijlstra <> | Date | Mon, 11 Apr 2011 15:21:21 +0200 |
| |
On Mon, 2011-04-11 at 14:12 +0100, Metzger, Markus T wrote: > Hi Ingo, Peter, > > > > When I use perf_event together with ptrace (i.e. when the ptracer is the > event owner), are there any guarantees whether events have been drained when > the ptracer is notified? > > > > When I look at the signal handling code (kernel/signal.c:ptrace_stop(), line > 1682), it appears as if the ptracee first wakes up the ptracer and then > calls schedule(). > > > > Thus, if ptracer and ptracee run on different cpus, the ptracer might > already be looking at the event buffer when the ptracee is scheduled out and > the last events are drained. > > > > Am I reading this correctly? > > > > Is the ptracer expected to check ->data_head to see if there had been any > updates?
I've got absolutely no clue about ptrace anything. One would expect ptrace to provide proper notification of when the ptracee is stopped, at which point staring at ->data_head seems like the right thing to do if you want to figure out if new events have happened.
| |