Re: [PATCH 1/4] tracing: move __DO_TRACE out of line

Ingo Molnar
2009-04-17T15:47:18Z

* Jeremy Fitzhardinge <jeremy@goop.org> wrote:

> From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>
> Mainly simplify linux/tracepoint.h's include dependencies (removes
> rcupdate.h), but it can't help with icache locality, since it
> definitely moves the code out of line, rather than relying on gcc
> to do it.

> --- a/include/linux/tracepoint.h
> +++ b/include/linux/tracepoint.h
> @@ -15,7 +15,6 @@
> */
>
> #include <linux/types.h>
> -#include <linux/rcupdate.h>

nice!

> +#define DEFINE_DO_TRACE(name, proto, args) \
> + void __do_trace_##name(struct tracepoint *tp, TP_PROTO(proto)) \
> + { \

that needs to be marked notrace, otherwise the function tracer
becomes noisy. (or even lockupy.)

Ingo