linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/13] coresight: perf: Support for TMC ETR backend
@ 2018-07-26 12:54 Suzuki K Poulose
  2018-07-26 12:54 ` [PATCH v3 01/13] coresight: Fix handling of sinks Suzuki K Poulose
                   ` (12 more replies)
  0 siblings, 13 replies; 19+ messages in thread
From: Suzuki K Poulose @ 2018-07-26 12:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: linux-kernel, mathieu.poirier, mike.leach, robert.walker,
	coresight, Suzuki K Poulose

This series adds the support for using the tmc-etr in perf mode for
storing the trace to system RAM. The ETR uses a separate buffer (double
buffering) for storing the trace. This is copied back to the ring buffer
when the event is stopped. We try to match the ETR buffer to the larger
of perf ring buffer or the size configured for the ETR via sysfs. This
allows tuning the buffer size to prevent overflows and loosing trace
data, as we don't have overflow interrupt support (yet).

Applies on coresight/next

Changes since v2:
 - Split hotplug lock cleanup from per-cpu path management
 - Add support for tracing on hotplugged CPUs (based on patch by Mathieu)
 - Fix handling of perf mode in etb10 driver
 - Fix CS_UNLOCK() typo in ETR perf driver
 - Rename call backs from tmc_etr_<op>_perf_buffer => tmc_<op>_etr_buffer
   to be consistent with ETF driver
 - Modify the commit description for removing set_buffer call back.

Changes since v1 :
 - Fix path for each CPU where the event might be recorded.
 - Handle errors in enabling source
 - Remove set_buffer callback to avoid complicating the error handling.
 - Fix a bug in handling sysfs mode specific buffers

Changes since [0] :
 - Drop buffer rotation logic for etr-buf
 - Do not use perf ring buffer. (Add support later)
 - Fix handling of sink, preventing mixed modes of operation.

[0] - TMC ETR perf support
 - http://lists.infradead.org/pipermail/linux-arm-kernel/2018-May/574875.html


Suzuki K Poulose (13):
  coresight: Fix handling of sinks
  coresight: etb10: Fix handling of perf mode
  coresight: perf: Fix per cpu path management
  coresight: perf: Avoid unncessary CPU hotplug read lock
  coresight: perf: Allow tracing on hotplugged CPUs
  coresight: perf: Disable trace path upon source error
  coresight: tmc-etr: Handle driver mode specific ETR buffers
  coresight: tmc-etr: Relax collection of trace from sysfs mode
  coresight: Convert driver messages to dev_dbg
  coresight: perf: Remove reset_buffer call back for sinks
  coresight: perf: Add helper to retrieve sink configuration
  coresight: perf: Remove set_buffer call back
  coresight: etm-perf: Add support for ETR backend

 .../coresight/coresight-dynamic-replicator.c       |   4 +-
 drivers/hwtracing/coresight/coresight-etb10.c      | 100 +++----
 drivers/hwtracing/coresight/coresight-etm-perf.c   | 134 +++++----
 drivers/hwtracing/coresight/coresight-etm-perf.h   |  26 ++
 drivers/hwtracing/coresight/coresight-etm3x.c      |   4 +-
 drivers/hwtracing/coresight/coresight-etm4x.c      |   4 +-
 drivers/hwtracing/coresight/coresight-funnel.c     |   4 +-
 drivers/hwtracing/coresight/coresight-priv.h       |   2 +-
 drivers/hwtracing/coresight/coresight-replicator.c |   4 +-
 drivers/hwtracing/coresight/coresight-stm.c        |   4 +-
 drivers/hwtracing/coresight/coresight-tmc-etf.c    |  94 +++---
 drivers/hwtracing/coresight/coresight-tmc-etr.c    | 327 ++++++++++++++++++---
 drivers/hwtracing/coresight/coresight-tmc.c        |   4 +-
 drivers/hwtracing/coresight/coresight-tmc.h        |   4 +
 drivers/hwtracing/coresight/coresight-tpiu.c       |   6 +-
 drivers/hwtracing/coresight/coresight.c            |  31 +-
 include/linux/coresight.h                          |  12 +-
 17 files changed, 517 insertions(+), 247 deletions(-)

-- 
2.7.4


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

end of thread, other threads:[~2018-08-01 19:23 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-26 12:54 [PATCH v3 00/13] coresight: perf: Support for TMC ETR backend Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 01/13] coresight: Fix handling of sinks Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 02/13] coresight: etb10: Fix handling of perf mode Suzuki K Poulose
2018-07-31 17:07   ` Mathieu Poirier
2018-07-31 21:32     ` Suzuki K Poulose
2018-08-01 19:23       ` Mathieu Poirier
2018-07-26 12:54 ` [PATCH v3 03/13] coresight: perf: Fix per cpu path management Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 04/13] coresight: perf: Avoid unncessary CPU hotplug read lock Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 05/13] coresight: perf: Allow tracing on hotplugged CPUs Suzuki K Poulose
2018-07-31 17:46   ` Mathieu Poirier
2018-07-31 23:08     ` Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 06/13] coresight: perf: Disable trace path upon source error Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 07/13] coresight: tmc-etr: Handle driver mode specific ETR buffers Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 08/13] coresight: tmc-etr: Relax collection of trace from sysfs mode Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 09/13] coresight: Convert driver messages to dev_dbg Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 10/13] coresight: perf: Remove reset_buffer call back for sinks Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 11/13] coresight: perf: Add helper to retrieve sink configuration Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 12/13] coresight: perf: Remove set_buffer call back Suzuki K Poulose
2018-07-26 12:54 ` [PATCH v3 13/13] coresight: etm-perf: Add support for ETR backend Suzuki K Poulose

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).