Messages in this thread | | | Date | Fri, 15 Jan 2010 09:00:42 -0500 | From | "Frank Ch. Eigler" <> | Subject | Re: [RFC] [PATCH 4/7] Uprobes Implementation |
| |
Hi -
On Fri, Jan 15, 2010 at 02:47:56PM +0100, Peter Zijlstra wrote: > [...] > > I'm not sure, but it sounds like the part you're complaining about is > > how utrace ultimately reports the trap to uprobes: i.e., > > utrace_get_signal()? Is that the "insane amount of code"? > > Well when tracing/profiling every instruction is too much. Having to > needlessly raise a signal only to catch it again a short bit later > sounds like obvious waste to me.
Well, I'm not in a position to argue line by line about the necessity or the cost of utrace low level guts, but this may represent the most practical engineering balance between functionality / modularity / undesirably intrusive modifications. Perhaps there exists a tool with which one can confirm your worry about excess cost of this particular piece.
> > > Furthermore it requires stopping and resuming tasks and nonsense like > > > that, that's unwanted in many cases, just run stuff from the trap site > > > and you're done. > > > > I don't know what you mean exactly. A trap already stopped task. > > utrace merely allows various clients to inspect/manipulate the state > > of the task at that moment. It does not add any context switches or > > spurious stop/resumue operations. > > Srikar seemed to suggest it needed stop/resume.
You may be confusing breakpoint insertion/removal operations versus breakpoint hits.
- FChE
| |