Re: LTTng "TIF_KERNEL_TRACE"

Mathieu Desnoyers
2009-04-28T15:21:41Z

* Ingo Molnar (mingo@elte.hu) wrote:
>
> * Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
>
> > Hi Ingo,
> >
> > Looking at the current -tip tree, I notice that the
> > TIF_SYSCALL_FTRACE flag is only implemented for x86.
> >
> > I have TIF_KERNEL_TRACE in my lttng tree which applies to all
> > architectures to do the exact same thing :
> >
> > lttng-kernel-trace-thread-flag-alpha.patch
> > lttng-kernel-trace-thread-flag-arm.patch
> > lttng-kernel-trace-thread-flag-avr32.patch
> > lttng-kernel-trace-thread-flag-blackfin.patch
> > lttng-kernel-trace-thread-flag-cris.patch
> > lttng-kernel-trace-thread-flag-frv.patch
> > lttng-kernel-trace-thread-flag-h8300.patch
> > lttng-kernel-trace-thread-flag-ia64.patch
> > lttng-kernel-trace-thread-flag-m32r.patch
> > lttng-kernel-trace-thread-flag-m68k.patch
> > lttng-kernel-trace-thread-flag-mips.patch
> > lttng-kernel-trace-thread-flag-parisc.patch
> > lttng-kernel-trace-thread-flag-powerpc.patch
> > lttng-kernel-trace-thread-flag-s390.patch
> > lttng-kernel-trace-thread-flag-sh.patch
> > lttng-kernel-trace-thread-flag-sparc.patch
> > lttng-kernel-trace-thread-flag-um.patch
> > lttng-kernel-trace-thread-flag-x86.patch
> > lttng-kernel-trace-thread-flag-xtensa.patch
> > lttng-kernel-trace-thread-flag-api.patch
> >
> > Is there any way we could get this merged ?
> >
> > One thing I like about the name TIF_KERNEL_TRACE compared to
> > TIF_SYSCALL_FTRACE is that it gives us a per-thread flag that
> > could eventually be used for more kernel tracing purposes than
> > just syscalls.
>
> Yeah - TIF_KERNEL_TRACE indeed sounds more descriptive and less
> restrictive. TIF_SYSCALL_FTRACE was a bit ad-hoc.
>
> Ingo

lttng-kernel-trace-thread-flag-api.patch adds the enable/disable API,
with refcount, in kernel/sched.c just because I did not know where to
put it. Should we move this to its own file in kernel/trace/???.c ?

One option is kernel/trace/trace.c, which is compiled as soon as
CONFIG_TRACING is enabled.

I added the prototypes to linux/sched.h, they should probably be moved
to... linux/trace.h ?

Mathieu

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68