From: Leo Yan <leo.yan@arm.com>
To: Jie Gan <jie.gan@oss.qualcomm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@arm.com>,
James Clark <james.clark@linaro.org>,
Yeoreum Yun <yeoreum.yun@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Will Deacon <will@kernel.org>, Yabin Cui <yabinc@google.com>,
Keita Morisaki <keyz@google.com>,
Yuanfang Zhang <quic_yuanfang@quicinc.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Tamas Petz <tamas.petz@arm.com>,
Thomas Gleixner <tglx@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v10 00/20] CoreSight: Refactor power management for CoreSight path
Date: Mon, 13 Apr 2026 17:31:30 +0100 [thread overview]
Message-ID: <20260413163130.GC356832@e132581.arm.com> (raw)
In-Reply-To: <0dd1c432-884a-46c1-828b-f3b22769d000@oss.qualcomm.com>
On Mon, Apr 13, 2026 at 06:30:18PM +0800, Jie Gan wrote:
[...]
> tested on QCOM sa8775-ride:
>
> === 1. Sysfs mode: basic enable/disable ===
> PASS: Sink tmc_etr0 enabled
> PASS: Source etm0 enabled
> PASS: Source etm0 disabled cleanly
> PASS: Sink tmc_etr0 disabled cleanly
>
> === 2. Sysfs mode: repeated enable/disable cycles (10x) ===
> PASS: 10 enable/disable cycles completed without error
>
> === 3. Sysfs mode: enable source with no active sink ===
> PASS: Enable without sink returned error (expected)
>
> === 4. Sysfs mode: enable/disable all per-CPU sources ===
> etm0 (cpu0): enabled OK
> etm1 (cpu1): enabled OK
> etm2 (cpu2): enabled OK
> etm3 (cpu3): enabled OK
> etm4 (cpu4): enabled OK
> etm5 (cpu5): enabled OK
> etm6 (cpu6): enabled OK
> etm7 (cpu7): enabled OK
> PASS: All online per-CPU sources enabled/disabled successfully
>
> === 5. CPU hotplug: offline CPU while sysfs tracing active ===
> Using source etm1 on cpu1
> Tracing active on cpu1, offlining CPU...
> [ 82.805359] psci: CPU1 killed (polled 0 ms)
> PASS: Source auto-disabled on CPU offline
> [ 83.346033] Detected PIPT I-cache on CPU1
> [ 83.346114] GICv3: CPU1: found redistributor 100 region
> 0:0x0000000017a80000
> [ 83.346283] CPU1: Booted secondary processor 0x0000000100 [0x410fd4b2]
> PASS: Source re-enabled after CPU re-online
>
> === 6. Sysfs: enable source on offline CPU (expect ENODEV) ===
> [ 84.013788] psci: CPU1 killed (polled 0 ms)
> PASS: Enable on offline cpu1 rejected (enable_source=0)
> [ 84.349558] Detected PIPT I-cache on CPU1
> [ 84.349640] GICv3: CPU1: found redistributor 100 region
> 0:0x0000000017a80000
> [ 84.349811] CPU1: Booted secondary processor 0x0000000100 [0x410fd4b2]
>
> === 7. CPU PM: trace survives CPU idle entry/exit ===
> Sleeping 3s to allow CPU idle entry...
> Idle entries on cpu0 during test: 35
> PASS: Source still enabled after idle (PM save/restore working)
>
> === 8. Perf mode: basic cs_etm recording ===
> SKIP: perf not found in PATH
>
> === 11. TRBE: check save/restore sysfs nodes (if present) ===
> SKIP: No TRBE devices found
>
> Tested-by: Jie Gan <jie.gan@oss.qualcomm.com>
Just heads up: since Sashiko [1] pointed out a corner case where an SMP call
may fail when disabling the source device, the per-CPU path pointer
might not be cleared. If the ETMv4 device is then removed (e.g. if the
user unloads the ETMv4 module), CPU PM notifier might access the stale
path pointer. Though this is a rare case, we should handle it safely.
This is why the series was not picked for the v7.1 merge window.
Thanks a lot for the testing, Jie! It's very helpful, and I will add
your test tags in the next spin.
Anyway, please expect more iterations.
Thanks,
Leo
[1] https://sashiko.dev/#/patchset/20260405-arm_coresight_path_power_management_improvement-v10-0-13e94754a8be%40arm.com?part=5
next prev parent reply other threads:[~2026-04-13 16:31 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-05 15:02 [PATCH v10 00/20] CoreSight: Refactor power management for CoreSight path Leo Yan
2026-04-05 15:02 ` [PATCH v10 01/20] coresight: Extract device init into coresight_init_device() Leo Yan
2026-04-05 15:02 ` [PATCH v10 02/20] coresight: Populate CPU ID into coresight_device Leo Yan
2026-04-05 15:02 ` [PATCH v10 03/20] coresight: Remove .cpu_id() callback from source ops Leo Yan
2026-04-05 15:02 ` [PATCH v10 04/20] coresight: Take hotplug lock in enable_source_store() for Sysfs mode Leo Yan
2026-04-05 15:02 ` [PATCH v10 05/20] coresight: etm4x: Set per-CPU path on local CPU Leo Yan
2026-04-05 15:02 ` [PATCH v10 06/20] coresight: etm3x: " Leo Yan
2026-04-05 15:02 ` [PATCH v10 07/20] coresight: Register CPU PM notifier in core layer Leo Yan
2026-04-05 15:02 ` [PATCH v10 08/20] coresight: etm4x: Hook CPU PM callbacks Leo Yan
2026-04-05 15:02 ` [PATCH v10 09/20] coresight: etm4x: Remove redundant checks in PM save and restore Leo Yan
2026-04-05 15:02 ` [PATCH v10 10/20] coresight: syscfg: Use IRQ-safe spinlock to protect active variables Leo Yan
2026-04-05 15:02 ` [PATCH v10 11/20] coresight: Move source helper disabling to coresight_disable_path() Leo Yan
2026-04-05 15:02 ` [PATCH v10 12/20] coresight: Control path with range Leo Yan
2026-04-05 15:02 ` [PATCH v10 13/20] coresight: Use helpers to fetch first and last nodes Leo Yan
2026-04-05 15:02 ` [PATCH v10 14/20] coresight: Introduce coresight_enable_source() helper Leo Yan
2026-04-05 15:02 ` [PATCH v10 15/20] coresight: Control path during CPU idle Leo Yan
2026-04-05 15:02 ` [PATCH v10 16/20] coresight: Add PM callbacks for sink device Leo Yan
2026-04-09 10:52 ` James Clark
2026-04-09 12:54 ` James Clark
2026-04-09 13:14 ` Suzuki K Poulose
2026-04-09 14:30 ` James Clark
2026-04-09 14:31 ` James Clark
2026-04-09 14:49 ` Leo Yan
2026-04-10 9:11 ` James Clark
2026-04-09 15:44 ` Leo Yan
2026-04-10 8:55 ` James Clark
2026-04-13 5:45 ` Jie Gan
2026-04-13 8:48 ` Leo Yan
2026-04-13 9:27 ` Jie Gan
2026-04-05 15:02 ` [PATCH v10 17/20] coresight: trbe: Save and restore state across CPU low power state Leo Yan
2026-04-09 10:52 ` James Clark
2026-04-09 15:54 ` Leo Yan
2026-04-10 8:45 ` James Clark
2026-04-05 15:02 ` [PATCH v10 18/20] coresight: sysfs: Increment refcount only for system tracers Leo Yan
2026-04-05 15:02 ` [PATCH v10 19/20] coresight: Move CPU hotplug callbacks to core layer Leo Yan
2026-04-05 15:02 ` [PATCH v10 20/20] coresight: sysfs: Validate CPU online status for per-CPU sources Leo Yan
2026-04-13 10:30 ` [PATCH v10 00/20] CoreSight: Refactor power management for CoreSight path Jie Gan
2026-04-13 16:31 ` Leo Yan [this message]
2026-04-14 3:30 ` Jie Gan
2026-04-14 6:09 ` Leo Yan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260413163130.GC356832@e132581.arm.com \
--to=leo.yan@arm.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=coresight@lists.linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=james.clark@linaro.org \
--cc=jie.gan@oss.qualcomm.com \
--cc=keyz@google.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=mike.leach@arm.com \
--cc=peterz@infradead.org \
--cc=quic_yuanfang@quicinc.com \
--cc=suzuki.poulose@arm.com \
--cc=tamas.petz@arm.com \
--cc=tglx@kernel.org \
--cc=will@kernel.org \
--cc=yabinc@google.com \
--cc=yeoreum.yun@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox