Re: [RFC] [PATCH 4/7] Uprobes Implementation

From: Frank Ch. Eigler
Date: Fri Jan 15 2010 - 09:01:09 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/