* Roland McGrath <rol...@redhat.com> 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

Reply via email to