Thread (18 messages) read the whole thread 18 messages, 3 authors, 2016-06-20
STALE3692d

Revision rfc of 8 in this series.

Revisions (8)
  1. rfc current
  2. v2 [diff vs current]
  3. v3 [diff vs current]
  4. v4 [diff vs current]
  5. v6 [diff vs current]
  6. v7 [diff vs current]
  7. v8 [diff vs current]
  8. v9 [diff vs current]

[RFC PATCH 0/4] Integration of function trace with System Trace IP blocks

From: Chunyan Zhang <hidden>
Date: 2016-06-01 11:19:20
Also in: lkml

IP blocks allowing a variety of trace sources to log debugging
information to a pre-defined area have been introduced on a couple of
architecture [1][2]. These system trace blocks (also known as STM)
typically follow the MIPI STPv2 protocol [3] and provide a system wide
logging facility to any device, running a kernel or not, with access
to the block's log entry port(s).  Since each trace message has a
timestamp, it is possible to correlate events happening in the entire
system rather than being confined to the logging facility of a single
entity.

This patchset is an RFC aimed at generating ideas on the best way to
use STM IP blocks to collect function tracing information produced by
Ftrace.  That way logging information generated by the function trace
subsystem and gathered in the coresight sink can be used in conjunction
with trace data from other board components, also collected in the same
trace sink.  This example is using ARM coresight STM but the same would
apply to any architecture wishing to do the same.

Comments and advice would be greatly appreciated.


Thanks,
Chunyan

[1]. https://lwn.net/Articles/674746/
[2]. http://lxr.free-electrons.com/source/drivers/hwtracing/intel_th/
[3]. http://mipi.org/specifications/debug#STP
[4]. http://lxr.free-electrons.com/source/include/linux/stm.h

Chunyan Zhang (4):
  STM Ftrace: Adding generic buffer interface driver
  trace: Introduce an output interface from ftrace to STM
  trace: Duplicate the output of the function trace logs to STM
  stm: Mark the functions of writing buffer with notrace

 drivers/hwtracing/coresight/coresight-stm.c |  2 +-
 drivers/hwtracing/intel_th/sth.c            | 11 +++---
 drivers/hwtracing/stm/Kconfig               |  9 +++++
 drivers/hwtracing/stm/Makefile              |  2 ++
 drivers/hwtracing/stm/core.c                |  7 ++--
 drivers/hwtracing/stm/dummy_stm.c           |  2 +-
 drivers/hwtracing/stm/stm_ftrace.c          | 54 +++++++++++++++++++++++++++++
 include/linux/stm.h                         |  4 +--
 kernel/trace/Makefile                       |  1 +
 kernel/trace/trace.c                        |  5 ++-
 kernel/trace/trace_output_stm.c             | 27 +++++++++++++++
 kernel/trace/trace_output_stm.h             | 14 ++++++++
 12 files changed, 126 insertions(+), 12 deletions(-)
 create mode 100644 drivers/hwtracing/stm/stm_ftrace.c
 create mode 100644 kernel/trace/trace_output_stm.c
 create mode 100644 kernel/trace/trace_output_stm.h

-- 
1.9.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help