|| ||Andrew Morton <akpm-AT-linux-foundation.org> |
|| ||Stephen Rothwell <sfr-AT-canb.auug.org.au>,
Ingo Molnar <mingo-AT-elte.hu>,
Ananth N Mavinakayanahalli <ananth-AT-in.ibm.com>,
Peter Zijlstra <a.p.zijlstra-AT-chello.nl>,
Peter Zijlstra <peterz@ |
|| ||Re: linux-next: add utrace tree |
|| ||Thu, 21 Jan 2010 16:31:45 -0800|
|| ||Article, Thread
On Thu, 21 Jan 2010 16:30:04 -0800
Andrew Morton <email@example.com> wrote:
> Someone please sell this to us.
Here's what Oleg said last time I asked this:
First of all, utrace makes other things possible. gdbstub,
nondestructive core dump, uprobes, kmview, hopefully more. I didn't
look at these projects closely, perhaps other people can tell more. As
for their merge status, until utrace itself is merged it is very hard to
develop them out of tree.
To me, even seccomp is the good example why utrace is useful. seccomp
is simple, but it needs hooks in arch/ hot pathes. Contrary,
utrace-based implementation is more flexible, simple, and it is
completely "hidden" behind utrace.
In my opinion, ptrace-utrace is another example. Once CONFIG_UTRACE
goes away, we can remove almost all ptrace-related code from core kernel
(and kill task_struct->ptrace/etc members).
ftrace/etc is excellent in many ways, but even if we need the simple
"passive" tracing it is not enough sometimes. And we have nothing else
except ptrace currently. But ptrace is so horrible and unfixeable, and
it has so many limitations. In fact, even the simple things like stop/
continue this thread/process are not trivial using ptrace, gdb/strace
have to do a lot of hacks to overcome ptrace's limitations, and some of
these hacks falls into "mostly works, but that is all" category.
Of course, I can't promise we will have the new gdb which explores
utrace facilities soon, but I think at least utrace gives a chance.
to post comments)