Re: [PATCH 2/4] x86/pvops: target CREATE_TRACE_POINTS to particular subsystems

Jeremy Fitzhardinge
2009-04-17T17:14:58Z

Steven Rostedt wrote:
> On Fri, 17 Apr 2009, Jeremy Fitzhardinge wrote:
>
>
>> Steven Rostedt wrote:
>>
>>> Ah yes! It needs to be:
>>>
>>> #ifdef CONFIG_IRQ_TRACE_POINTS
>>> #undef CONFIG_IRQ_TRACE_POINTS
>>> #include <trace/define_trace.h>
>>> #endif
>>>
>>> Otherwise we get into the recursion again.
>>>
>>>
>> We should probably also move the #define TRACE_SYS in there as well (without
>> the #undef), as it should only have one definition at a time...
>>
>
> Actually, I'm kind of against that. Just because as it stands, the
> TRACE_SYSTEM macro is up at the top, and it is easy to see.
>

Yes, but it means that if you're in the middle of
CREATE_FOO_TRACE_POINTS and foo.h happens to include bar.h, suddenly
TRACE_SUBSYSTEM becomes bar...

> Actually, we could do (from the top of the file)
>
> #ifdef CONFIG_IRQ_TRACE_POINTS
> #undef CONFIG_IRQ_TRACE_POINTS
>
> #define TRACE_SYSTEM irq
>
> #include <trace/define_trace.h>
>
> #elif !defined(_TRACE_IRQ_H) || defined(TRACE_HEADER_MULTI_READ)
> #define _TRACE_IRQ_H
>
> #include <linux/tracepoint.h>
> #include <linux/interrupt.h>
>
>
> [...]
>
> #endif
>

That's slightly different from what we have now. At the moment its

#if !defined(_TRACE_IRQ_H)...
...
#endif

#ifdef CREATE_IRQ_TRACE_POINTS
...
#endif

So we get both the main part of the file and the CREATE_X_TRACE_POINTS
parts. Your suggestion makes them exclusive:

#ifdef CREATE_IRQ_TRACE_POINTS
...
#elif !defined(_TRACE_IRQ_H)...
...
#endif

Does that make a difference?

J