summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAparna Das <adas@codeaurora.org>2013-10-21 18:33:52 -0700
committerKyle Yan <kyan@codeaurora.org>2016-05-24 14:15:32 -0700
commit89ee45617ed4489aeaf9601812f4122fa64249e7 (patch)
tree7bf05306351cd897bfe332846059fffa7b3a59da
parente56ad58d2c990433edb731563737d1bde83c539f (diff)
coresight: add stm logging to support optimization in trace printk
The function trace_printk() performs optimization by determining if there are no format parameters in argument string and calls appropriate apis to write to ftrace buffer. Add STM logging to support this optimization in order to allow CoreSight STM tracing for optimized trace_printk path. Change-Id: I1a77291e77410c6ed99474335a6d25742c409e47 Signed-off-by: Aparna Das <adas@codeaurora.org> Signed-off-by: Pratik Patel <pratikp@codeaurora.org> Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
-rw-r--r--kernel/trace/trace.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 985f7a6dd506..530bbc44082c 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -574,8 +574,11 @@ int __trace_puts(unsigned long ip, const char *str, int size)
if (entry->buf[size - 1] != '\n') {
entry->buf[size] = '\n';
entry->buf[size + 1] = '\0';
- } else
+ stm_log(OST_ENTITY_TRACE_PRINTK, entry->buf, size + 2);
+ } else {
entry->buf[size] = '\0';
+ stm_log(OST_ENTITY_TRACE_PRINTK, entry->buf, size + 1);
+ }
__buffer_unlock_commit(buffer, event);
ftrace_trace_stack(&global_trace, buffer, irq_flags, 4, pc, NULL);
@@ -616,6 +619,7 @@ int __trace_bputs(unsigned long ip, const char *str)
entry = ring_buffer_event_data(event);
entry->ip = ip;
entry->str = str;
+ stm_log(OST_ENTITY_TRACE_PRINTK, entry->str, strlen(entry->str)+1);
__buffer_unlock_commit(buffer, event);
ftrace_trace_stack(&global_trace, buffer, irq_flags, 4, pc, NULL);