Re: [PATCH 2/8] tracing: create automated trace defines

From: Jeremy Fitzhardinge
Date: Wed Apr 15 2009 - 22:57:16 EST


Mathieu Desnoyers wrote:
Is your only problem the fact that tracepoints include rcupdate.h ?

No. That was the first roadblock, which caused massive cyclic dependencies between includes and consequent failure to define everything required. I solved that by pushing __DO_TRACE out of line. Everything since then is a separate issue.

This
can easily be solved by moving rcu_read_(un)lock_sched_notrace to a
rcu-update-<insert meaningful name here> and include this header in
rcupdate.h and tracepoint.h.
I suppose, but I think pushing __do_trace_##name out of line is cleaner anyway. And I think it's very important that tracepoint.h have a *absolutely minimal* #include set, so that it can be safely included in as many contexts as possible. asm/paravirt.h is complex enough as it is, and I really don't want tracepoint bringing in any extra headers at all. linux/types.h is about the only acceptable one.

If by doing these modifications we succeed in keeping the "void"
parameters working _and_ make your stuff to compile, I think we would
have done something great. :-)

The void issue is irritating, but relatively minor compared to the rest. If everything else gets solved except for the need to pass a dummy param to no-arg tracepoints, then I think it'll be a generally useful facility.

J
--
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/