[PATCH V3 0/3] Integration of function trace with System Trace IP blocks

Chunyan Zhang zhang.chunyan at linaro.org
Mon Aug 8 23:57:24 PDT 2016


Removing maxime.coquelin at st.com since it seems an unreachable address

On Tue, Aug 9, 2016 at 2:32 PM, Chunyan Zhang <zhang.chunyan at linaro.org> wrote:
> 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 trying to use STM IP blocks to store some function
> tracing information produced by Ftrace and I'm taking the Function trace
> (TRACE_FN) as the example in this patchset, but other types of traces
> also can be supported.
>
> 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.
>
> In this patchset made many modifications according to the comments on
> last patchset, the first two patches of this serial have been midified
> completely. This patchset implemented the similar features, but in the
> completely different way.
>
> 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
>
> Changes v3:
> * Rebased on v4.8-rc1.
> * Added trace_export class, and make traces can be exported to not only
> ring buffer but also other area such as STM.
> * Made stm_ftrace as an trace_export.
> * More detailed changes are described in change log of each patch.
>
> Changes v2:
> * Addressed comments from Alexander Shishkin:
>  - Modified some ambiguous change logs.
>  - Decoupled stm_ftrace and trace_output interface to STM.
>  - Changed the file name from stm_ftrace.c to stm/ftrace.c.
>  - Implemented link/unlink hooks for stm_ftrace.
> * Removed useless header file include from stm/ftrace.c
> * Added Acked-by from Steven Rostedt on 4/4.
>
> Chunyan Zhang (3):
>   tracing: add a possibility of exporting function trace to other places
>     instead of ring buffer only
>   stm class: ftrace: Add ftrace-export-over-stm driver
>   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               |  11 +++
>  drivers/hwtracing/stm/Makefile              |   2 +
>  drivers/hwtracing/stm/core.c                |   7 +-
>  drivers/hwtracing/stm/dummy_stm.c           |   2 +-
>  drivers/hwtracing/stm/ftrace.c              |  87 +++++++++++++++++++
>  include/linux/stm.h                         |   4 +-
>  include/linux/trace.h                       |  31 +++++++
>  kernel/trace/trace.c                        | 124 +++++++++++++++++++++++++++-
>  kernel/trace/trace.h                        |  31 +++++++
>  11 files changed, 300 insertions(+), 12 deletions(-)
>  create mode 100644 drivers/hwtracing/stm/ftrace.c
>  create mode 100644 include/linux/trace.h
>
> --
> 2.7.4
>



More information about the linux-arm-kernel mailing list