public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v5 00/12] fix several inconsistencies with sysfs configuration in etmX
@ 2026-04-15 16:55 Yeoreum Yun
  2026-04-15 16:55 ` [PATCH v5 01/12] coresight: etm4x: fix wrong check of etm4x_sspcicrn_present() Yeoreum Yun
                   ` (11 more replies)
  0 siblings, 12 replies; 29+ messages in thread
From: Yeoreum Yun @ 2026-04-15 16:55 UTC (permalink / raw)
  To: coresight, linux-arm-kernel, linux-kernel
  Cc: suzuki.poulose, mike.leach, james.clark, alexander.shishkin,
	leo.yan, jie.gan, Yeoreum Yun

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.

Also, This patch set includes some small fixes:
  - missing trace id release in etm4x.
  - underflow issue for nrseqstate.
  - wrong check in etm4x_sspcicrn_present().

This patch based on v7.0

Patch History
=============
from v4 to v5:
  - add rb-tag.
  - fix underflow issue for nrseqstate.
  - fix wrong check in etm4_sspcicrn_present().
  - remove redundant fields on etmv4_save_state.
  - rename caps->ss_status to ss_cmp.
  - fix wrong location of etm4_release_trace_id.
  - https://lore.kernel.org/all/20260413142003.3549310-1-yeoreum.yun@arm.com/

from v3 to v4:
  - change etm_drvdata->spinlock type to raw_spin_lock_t
  - remove redundant call etmX_enable_hw() with starting_cpu() callsback.
  - fix missing trace id release.
  - add missing docs.
  - https://lore.kernel.org/all/20260412175506.412301-1-yeoreum.yun@arm.com/

from v2 to v3:
  - fix build error for etm3x.
  - fix checkpatch warning.
  - https://lore.kernel.org/all/20260410074310.2693385-1-yeoreum.yun@arm.com/

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@arm.com/

Yeoreum Yun (12):
  coresight: etm4x: fix wrong check of etm4x_sspcicrn_present()
  coresight: etm4x: fix underflow for nrseqstate
  coresight: etm4x: introduce struct etm4_caps
  coresight: etm4x: exclude ss_status from drvdata->config
  coresight: etm4x: remove redundant fields in etmv4_save_state
  coresight: etm4x: fix leaked trace id
  coresight: etm4x: fix inconsistencies with sysfs configuration
  coresight: etm4x: remove redundant call etm4_enable_hw() with hotplug
  coresight: etm3x: change drvdata->spinlock type to raw_spin_lock_t
  coresight: etm3x: introduce struct etm_caps
  coresight: etm3x: fix inconsistencies with sysfs configuration
  coresight: etm3x: remove redundant call etm_enable_hw() with hotplug

 drivers/hwtracing/coresight/coresight-etm.h   |  46 ++-
 .../coresight/coresight-etm3x-core.c          | 100 ++---
 .../coresight/coresight-etm3x-sysfs.c         | 159 ++++----
 .../hwtracing/coresight/coresight-etm4x-cfg.c |   3 +-
 .../coresight/coresight-etm4x-core.c          | 374 ++++++++++--------
 .../coresight/coresight-etm4x-sysfs.c         | 199 ++++++----
 drivers/hwtracing/coresight/coresight-etm4x.h | 190 ++++-----
 7 files changed, 588 insertions(+), 483 deletions(-)


base-commit: 028ef9c96e96197026887c0f092424679298aae8
--
LEVI:{C3F47F37-75D8-414A-A8BA-3980EC8A46D7}



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

end of thread, other threads:[~2026-04-17  8:59 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-15 16:55 [PATCH v5 00/12] fix several inconsistencies with sysfs configuration in etmX Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 01/12] coresight: etm4x: fix wrong check of etm4x_sspcicrn_present() Yeoreum Yun
2026-04-16 15:02   ` Leo Yan
2026-04-15 16:55 ` [PATCH v5 02/12] coresight: etm4x: fix underflow for nrseqstate Yeoreum Yun
2026-04-16 15:11   ` Leo Yan
2026-04-16 17:07     ` Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 03/12] coresight: etm4x: introduce struct etm4_caps Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 04/12] coresight: etm4x: exclude ss_status from drvdata->config Yeoreum Yun
2026-04-16  5:42   ` Jie Gan
2026-04-16  6:54     ` Yeoreum Yun
2026-04-16  7:20       ` Jie Gan
2026-04-16 15:51   ` Leo Yan
2026-04-15 16:55 ` [PATCH v5 05/12] coresight: etm4x: remove redundant fields in etmv4_save_state Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 06/12] coresight: etm4x: fix leaked trace id Yeoreum Yun
2026-04-16 16:55   ` Leo Yan
2026-04-16 17:06     ` Yeoreum Yun
2026-04-17  7:52       ` Leo Yan
2026-04-17  1:01     ` Jie Gan
2026-04-17  8:41       ` Leo Yan
2026-04-17  8:51         ` Jie Gan
2026-04-17  8:58           ` Jie Gan
2026-04-15 16:55 ` [PATCH v5 07/12] coresight: etm4x: fix inconsistencies with sysfs configuration Yeoreum Yun
2026-04-16  4:35   ` Jie Gan
2026-04-16  6:49     ` Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 08/12] coresight: etm4x: remove redundant call etm4_enable_hw() with hotplug Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 09/12] coresight: etm3x: change drvdata->spinlock type to raw_spin_lock_t Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 10/12] coresight: etm3x: introduce struct etm_caps Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 11/12] coresight: etm3x: fix inconsistencies with sysfs configuration Yeoreum Yun
2026-04-15 16:55 ` [PATCH v5 12/12] coresight: etm3x: remove redundant call etm_enable_hw() with hotplug Yeoreum Yun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox