Re: [PATCH 3/3] utrace-based ftrace "process" engine, v2
From: Ingo Molnar
Date: Mon Mar 23 2009 - 02:35:39 EST
* Roland McGrath <roland@xxxxxxxxxx> wrote:
> > kernel/utrace.c should probably be introduced as
> > kernel/trace/utrace.c not kernel/utrace.c. It also overlaps pending
> > work in the tracing tree and cooperation would be nice and desired.
>
> Of course I would like to cooperate with everyone. And of course
> it does not really matter much where a source file lives. But
> IMHO utrace really does not fit in with the kernel/trace/ code
> much at all. Sure, its hooks can be used by tracer
> implementations that use CONFIG_TRACING stuff. But it is a
> general API about user thread state. It belongs in kernel/trace/
> "naturally" far less than, say, kprobes. utrace will in future be
> used to implement userland features (ptrace et al) that are just
> aspects of the basics of what an operating system does: mediate
> userland for userland. Those uses will have nothing to do with
> "kernel tracing".
But it is fitting if you think of kernel/trace/ as
kernel/instrumentation/.
The virtualization-alike uses for utrace are in essence using system
call instrumentation callbacks to inject extra functionality into
the system. That's possible not because it's primarily geared at
doing that, but because the instrumentation callbacks are generic
and complete enough. It's still correct to think of it as an
instrumentation tool and to maintain it as such. That also makes it
clear that none of these APIs are to be regarded permanent ABIs.
Anyway ... placement is no big deal, and kernel/utrace.c is
certainly a good way of avoiding the tracing tree ;-)
Ingo
--
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/