On Wed, Jul 8, 2015 at 8:31 PM, Peter Zijlstra <pet...@infradead.org> 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/