Re: [PATCH 08/16] tracing: have event_trace_printk use static tracer

KOSAKI Motohiro
2009-03-13T03:10:11Z

> +#define event_trace_printk(ip, fmt, args...) \
> +do { \
> + __trace_printk_check_format(fmt, ##args); \
> + tracing_record_cmdline(current); \
> + if (__builtin_constant_p(fmt)) { \
> + static const char *trace_printk_fmt \
> + __attribute__((section("__trace_printk_fmt"))) = \
> + __builtin_constant_p(fmt) ? fmt : NULL; \

Why __builtin_constant_p(fmt) evaluate twice?

> + \
> + __trace_bprintk(ip, trace_printk_fmt, ##args); \
> + } else \
> + __trace_printk(ip, fmt, ##args); \
> +} while (0)