Re: [PATCH 2/2] Reduce performance cost of the trace if trace category is disabled
- From
- Gennady Kupava <gennady.kupava@gmail.com>
- Date
- Nov 19, 2017, 13:18 UTC
- Message-ID
- <CAPu-DQqO5gfr3H_vHu3JBeJrkCmh6qQ=vs=GOkLKjtE9=tDgcg@mail.gmail.com>
- In-Reply-To
- <d9076fef-c90c-63f2-5e0e-37293810e3d9@kdbg.org>
Right, this trace is actually not used anywhere, so only check was compilation. Will fix that.
On 19 November 2017 at 08:27, Johannes Sixt <j6t@kdbg.org> wrote:
Show 73 quoted lines
> Am 19.11.2017 um 01:42 schrieb gennady.kupava@gmail.com:
>>
>> +#define trace_printf_key(key, ...)
>> \
>> + do {
>> \
>> + if (trace_pass_fl(key))
>> \
>> + trace_printf_key_fl(TRACE_CONTEXT, __LINE__, key,
>> \
>> + __VA_ARGS__);
>> \
>> + } while(0)
>> +
>> +#define trace_printf(...) trace_printf_key(&trace_default_key,
>> __VA_ARGS__);
>> +
>> +#define trace_argv_printf(argv, ...)
>> \
>> + do {
>> \
>> + if (trace_pass_fl(&trace_default_key))
>> \
>> + trace_argv_printf_fl(TRACE_CONTEXT, __LINE__,
>> \
>> + argv, __VA_ARGS__);
>> \
>> + } while(0)
>> +
>> +#define trace_strbuf(key, data)
>> \
>> + do {
>> \
>> + if (trace_pass_fl(key))
>> \
>> + trace_strbuf_fl(TRACE_CONTEXT, __LINE__, key,
>> data);\
>> + } while(0)
>> +
>> +#define trace_performance(nanos, ...)
>> \
>> + do {
>> \
>> + if (trace_pass_fl(key))
>> \
>
>
> The token "key" here looks suspicious. Did you mean &trace_perf_key?
>
>> + trace_performance_fl(TRACE_CONTEXT, __LINE__,
>> nanos,\
>> + __VA_ARGS__);
>> \
>> + } while(0)
>> +
>> +#define trace_performance_since(start, ...)
>> \
>> + do {
>> \
>> + if (trace_pass_fl(&trace_perf_key))
>> \
>> + trace_performance_fl(TRACE_CONTEXT, __LINE__,
>> \
>> + getnanotime() - (start),
>> \
>> + __VA_ARGS__);
>> \
>> + } while(0)
>> /* backend functions, use non-*fl macros instead */
>> __attribute__((format (printf, 4, 5)))
>
>
> -- Hannes