Re: [PATCH RFC v4 1/3] tracing/irqsoff: Prepare to add preempt and irq trace events

From: Joel Fernandes
Date: Sun Sep 10 2017 - 18:21:34 EST


Hi Steven,

On Sun, Sep 10, 2017 at 2:06 AM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Wed, 6 Sep 2017 17:17:50 -0700
> Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
>
>
>> +#else /* IRQSOFF_TRACER || PREEMPTOFF_TRACER */
>> +
>> +#define start_critical_timings_tracer() do { } while (0)
>> +#define stop_critical_timings_tracer() do { } while (0)
>> +
>> +#endif
>> +
>> +#ifndef CONFIG_IRQSOFF_TRACER
>> +#define tracer_hardirqs_on() do { } while (0)
>> +#define tracer_hardirqs_off() do { } while (0)
>> +#define tracer_hardirqs_on_caller(x) do { } while (0)
>> +#define tracer_hardirqs_off_caller(x) do { } while (0)
>> +#endif
>> +
>> +#ifndef CONFIG_PREEMPT_TRACER
>> +#define tracer_preempt_on(x, y) do { } while (0)
>> +#define tracer_preempt_off(x, y) do { } while (0)
>> +#endif
>
> Is there a reason the above is #define and not static inline? The
> preferred method is static inline as that allows the compiler to check
> types. #define is used if one of the parameters has a struct or
> something that is not defined.

Sure, I'll make use of static inline in the next version. thanks!

-Joel