linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V4 0/3] Integration of function trace with System Trace IP blocks
@ 2016-08-15 11:50 Chunyan Zhang
  2016-08-15 11:50 ` [PATCH V4 1/3] tracing: add a possibility of exporting function trace to other places instead of ring buffer only Chunyan Zhang
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Chunyan Zhang @ 2016-08-15 11:50 UTC (permalink / raw)
  To: rostedt, mathieu.poirier, alexander.shishkin, mingo
  Cc: arnd, mike.leach, tor, philippe.langlais, nicolas.guion,
	felipe.balbi, zhang.lyra, linux-kernel, linux-arm-kernel

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.

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 from v3:
* Addressed comments from Steven Rostedt:
  - Added comments for the element 'name' and 'next' of trace_export;
  - Changed to use RCU functions instead of mutex in function callback;
  - Moved the check for name to register trace_export function;
* Renamed 'trace_function_exports' to 'trace_exports' since its
  implementation is not only for function_trace;  The similar changes on
  'add_trace_export' and 'rm_trace_export'.

Changes from v2:
* 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 from v1:
* 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                       |  33 ++++++++
 kernel/trace/trace.c                        | 124 +++++++++++++++++++++++++++-
 kernel/trace/trace.h                        |  31 +++++++
 11 files changed, 302 insertions(+), 12 deletions(-)
 create mode 100644 drivers/hwtracing/stm/ftrace.c
 create mode 100644 include/linux/trace.h

-- 
2.7.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-08-23  8:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-15 11:50 [PATCH V4 0/3] Integration of function trace with System Trace IP blocks Chunyan Zhang
2016-08-15 11:50 ` [PATCH V4 1/3] tracing: add a possibility of exporting function trace to other places instead of ring buffer only Chunyan Zhang
2016-08-15 13:03   ` kbuild test robot
2016-08-18  7:48     ` Chunyan Zhang
2016-08-15 14:28   ` Steven Rostedt
2016-08-17 12:48     ` Chunyan Zhang
2016-08-17 14:11       ` Steven Rostedt
2016-08-18  9:22         ` Chunyan Zhang
2016-08-18 16:12           ` Steven Rostedt
2016-08-23  8:53             ` Chunyan Zhang
2016-08-15 11:50 ` [PATCH V4 2/3] stm class: ftrace: Add ftrace-export-over-stm driver Chunyan Zhang
2016-08-15 11:50 ` [PATCH V4 3/3] stm: Mark the functions of writing buffer with notrace Chunyan Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).