Quantcast
Channel: Serverphorums.com
Viewing all articles
Browse latest Browse all 23908

[PATCH v4 2/3] trace: Introduce trace log output function for STM

$
0
0
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.chunyan@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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Viewing all articles
Browse latest Browse all 23908

Trending Articles