[RFC PATCH 3/4] trace: Duplicate the output of the function trace logs to STM
From: Chunyan Zhang <hidden>
Date: 2016-06-08 11:02:24
Also in:
lkml
On Tue, Jun 7, 2016 at 6:00 PM, Alexander Shishkin [off-list ref] wrote:
Chunyan Zhang [off-list ref] writes:quoted
This patch adds an output from Ftrace to STM.But does it?quoted
That being said, Function trace messages would also be duplicated to STM buffer when being stored into ring buffer.Not sure what you mean here. What's "STM buffer"?
Sorry if this is ambiguously expression, I mean the buffer which stores the trace data from STM, such as ETB/TMC for CoreSight.
quoted
Signed-off-by: Chunyan Zhang <redacted> --- kernel/trace/trace.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 8a4bd6b..d613053 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c@@ -44,6 +44,7 @@ #include "trace.h" #include "trace_output.h" +#include "trace_output_stm.h" /* * On boot up, the ring buffer is set to the minimum size, so that@@ -1884,8 +1885,10 @@ trace_function(struct trace_array *tr, entry->ip = ip; entry->parent_ip = parent_ip; - if (!call_filter_check_discard(call, entry, buffer, event)) + if (!call_filter_check_discard(call, entry, buffer, event)) { __buffer_unlock_commit(buffer, event); + ftrace_stm_func(ip, parent_ip); + }So this logs instruction pointers, not the actual events. Not much is duplicated like the message suggests, but it also doesn't seem very useful.
Yes, only knowing function pointers may not be very useful, if doing in this way is acceptable I intend to add more interfaces to export more information to STM in the feature, I will appreciate if you can tell me what information you think is _absolutely_ necessary. Thanks, Chunyan
Regards, -- Alex