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

Jeremy Fitzhardinge
2009-04-16T02:57:15Z

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