Re: [PATCH v4 0/7] Arm CoreSight: Support AUX pause and resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 01/04/2025 7:07 pm, Leo Yan wrote:
This series is to enable AUX pause and resume on Arm CoreSight.

The first patch extracts the trace unit controlling operations to two
functions.  These two functions will be used by AUX pause and resume.

Patches 02 and 03 change the ETMv4 driver to prepare callback functions
for AUX pause and resume.

Patch 04 changes the ETM perf layer to support AUX pause and resume in a
perf session.  The patch 05 re-enables sinks after buffer update, based
on it, the patch 06 updates buffer on AUX pause occasion, which can
mitigate the trace data lose issue.

Patch 07 documents the AUX pause usages with Arm CoreSight.

This patch set has been verified on the Hikey960 board.

It is suggested to disable CPUIdle (add `nohlt` option in Linux command
line) when verifying this series.  ETM and funnel drivers are found
issues during CPU suspend and resume which will be addressed separately.

Changes from v3:
- Re-enabled sink in buffer update callbacks (Suzuki).

Changes from v2:
- Rebased on CoreSight next branch.
- Dropped the uAPI 'update_buf_on_pause' and updated document
   respectively (Suzuki).
- Renamed ETM callbacks to .pause_perf() and .resume_perf() (Suzuki).
- Minor improvement for error handling in the AUX resume flow.

Changes from v1:
- Added validation function pointers in pause and resume APIs (Mike).


Leo Yan (7):
   coresight: etm4x: Extract the trace unit controlling
   coresight: Introduce pause and resume APIs for source
   coresight: etm4x: Hook pause and resume callbacks
   coresight: perf: Support AUX trace pause and resume
   coresight: tmc: Re-enable sink after buffer update
   coresight: perf: Update buffer on AUX pause
   Documentation: coresight: Document AUX pause and resume

  Documentation/trace/coresight/coresight-perf.rst   |  31 +++++++++
  drivers/hwtracing/coresight/coresight-core.c       |  22 +++++++
  drivers/hwtracing/coresight/coresight-etm-perf.c   |  84 +++++++++++++++++++++++-
  drivers/hwtracing/coresight/coresight-etm4x-core.c | 143 +++++++++++++++++++++++++++++------------
  drivers/hwtracing/coresight/coresight-etm4x.h      |   2 +
  drivers/hwtracing/coresight/coresight-priv.h       |   2 +
  drivers/hwtracing/coresight/coresight-tmc-etf.c    |   9 +++
  drivers/hwtracing/coresight/coresight-tmc-etr.c    |  10 +++
  include/linux/coresight.h                          |   4 ++
  9 files changed, 265 insertions(+), 42 deletions(-)


Reviewed-by: James Clark <james.clark@xxxxxxxxxx>





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux