This patch introduced a new function to print the trace events logs to STM buffer when the trace event happens.
Signed-off-by: Chunyan Zhang <zhang.chun...@linaro.org> --- kernel/trace/Makefile | 1 + kernel/trace/trace_output_stm.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 kernel/trace/trace_output_stm.c diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile index 9b1044e..ac6c195 100644 --- a/kernel/trace/Makefile +++ b/kernel/trace/Makefile @@ -67,4 +67,5 @@ obj-$(CONFIG_UPROBE_EVENT) += trace_uprobe.o obj-$(CONFIG_TRACEPOINT_BENCHMARK) += trace_benchmark.o +obj-$(CONFIG_TRACE_EVENT_STM) += trace_output_stm.o libftrace-y := ftrace.o diff --git a/kernel/trace/trace_output_stm.c b/kernel/trace/trace_output_stm.c new file mode 100644 index 0000000..42d5549 --- /dev/null +++ b/kernel/trace/trace_output_stm.c @@ -0,0 +1,22 @@ +#include <linux/trace_events.h> +#include "trace_output.h" + +void trace_event_stm_log(struct trace_event_buffer *buffer) +{ + /* use static because iter can be a bit big for the stack */ + static struct trace_iterator iter; + struct trace_entry *entry = (struct trace_entry *)buffer->entry; + struct trace_event *event = NULL; + + iter.ent = entry; + + if (entry) + event = ftrace_find_event(entry->type); + + if (event && event->funcs) { + event->funcs->trace(&iter, 0, event); + stm_trace_event_write(iter.seq.buffer, iter.seq.seq.len); + iter.seq.seq.len = 0; + } +} +EXPORT_SYMBOL_GPL(trace_event_stm_log); -- 1.9.1 -- 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/