[PATCH v2 0/5] fix inconsistencies with sysfs configuration in etmX

From: Yeoreum Yun

Date: Fri Apr 10 2026 - 03:43:29 EST


The current ETMx configuration via sysfs can lead to the following
inconsistencies:

- If a configuration is modified via sysfs while a perf session is
active, the running configuration may differ between before
a sched-out and after a subsequent sched-in.

- If a perf session and sysfs session tries to enable concurrently,
configuration from configfs could be corrupted (etm4).

- There is chance to corrupt drvdata->config if perf session tries
to enabled among handling cscfg_csdev_disable_active_config()
in etm4_disable_sysfs() (etm4).

To resolve these inconsistencies, the configuration should be separated into:

- active_config, which is applied configuration for the current session
- config, which stores the settings configured via sysfs.

and apply configuration from configfs after taking a mode.


This patch based on v7.0-rc7


Patch History
=============

from v1 to v2
- rebased to v7.0-rc7.
- introduce etmX_caps structure to save etmX's capabilities.
- remove ss_status from etmv4_config.
- modify active_config after taking a mode (perf/sysfs).
- https://lore.kernel.org/all/20260317181705.2456271-1-yeoreum.yun@xxxxxxx/

Yeoreum Yun (5):
coresight: etm4x: introduce struct etm4_caps
coresight: etm4x: exclude ss_status from drvdata->config
coresight: etm4x: fix inconsistencies with sysfs configration
coresight: etm3x: introduce struct etm_caps
coresight: etm3x: fix inconsistencies with sysfs configration

drivers/hwtracing/coresight/coresight-etm.h | 42 ++-
.../coresight/coresight-etm3x-core.c | 53 +--
.../coresight/coresight-etm3x-sysfs.c | 14 +-
.../hwtracing/coresight/coresight-etm4x-cfg.c | 3 +-
.../coresight/coresight-etm4x-core.c | 322 ++++++++++--------
.../coresight/coresight-etm4x-sysfs.c | 192 ++++++-----
drivers/hwtracing/coresight/coresight-etm4x.h | 180 +++++-----
7 files changed, 450 insertions(+), 356 deletions(-)


base-commit: 591cd656a1bf5ea94a222af5ef2ee76df029c1d2
--
LEVI:{C3F47F37-75D8-414A-A8BA-3980EC8A46D7}