Re: [RFC PATCH v3 4/4] trace: Trace log handler for logging into STM blocks

From: Chunyan Zhang
Date: Wed Jul 08 2015 - 09:06:22 EST


On Wed, Jul 8, 2015 at 8:31 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Tue, Jul 07, 2015 at 06:10:43PM +0800, Chunyan Zhang wrote:
>> Add the function 'trace_event_stm_output_##call' for printing events
>> trace log into STM blocks.
>>
>> This patch also adds a function call at where the events have been
>> committed to ring buffer to export the trace event information to
>> STM blocks.
>
> So then you have two copies of the data, why that? Would a scheme were
> data either goes to the STM or the regular buffer not make much more
> sense?

We don't have two copies when we export the trace logs to STM, because
the event trace logs what we can see by catting the Ftrace files
haven't been generated at that moment.

>
>> +++ b/include/trace/perf.h
>> @@ -175,6 +175,7 @@ trace_event_raw_event_##call(void *__data, proto) \
>> { assign; } \
>> \
>> trace_event_buffer_commit(&fbuffer); \
>> + trace_event_stm_log(&fbuffer); \
>
> This makes every trace event slower.

It doesn't actually, you may decide if enable this feature, the trace
event will not be slowed if STM_TRACE_EVENT is not selected.
But if this feature enabled, it will indeed take more time than
without this feature.

Best regards,
Chunyan

>
>> }
>> /*
>> * The ftrace_test_probe is compiled out, it is only here as a build time check
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/