From: Yeoreum Yun <yeoreum.yun@arm.com>
To: Mike Leach <mike.leach@arm.com>,
James Clark <james.clark@linaro.org>, Leo Yan <leo.yan@arm.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Clark Williams <clrkwllms@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Yeoreum Yun <yeoreum.yun@arm.com>
Subject: Re: [PATCH v13 00/14] fix several inconsistencies with sysfs configuration in etmX
Date: Sat, 3 Oct 2026 03:49:12 +0100 [thread overview]
Message-ID: <asBtKMMdd38ZpSlI@e129823.arm.com> (raw)
In-Reply-To: <20261002-separate_etm_cfg_v2-v13-0-fe429d8d96fb@arm.com>
Sashiko's review found one typo but others are not valid and
I've commented for them.
Therefore, I'll resend again with typo fix only keeping the version.
Thanks!
> 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:
>
> - curr_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.
>
> Patch History
> =============
> from v12 to v13:
> - add r-b tags
> - Link to v12: https://lore.kernel.org/r/20260924-separate_etm_cfg_v2-v12-0-a2b41d2f7c2b@arm.com
>
> from v11 to v12:
> - rename active_config to curr_config.
> - rename config to sysfs_config.
> - remove redundant config argument in etmX_args.
> - add read-back and copy from curr_config to sysfs_config TRCSEQSTR
> (seq_state).
> - add r-b and t-b tags.
> - Link to v11: https://lore.kernel.org/r/20260915-separate_etm_cfg_v2-v11-0-d2b258d51747@arm.com
>
> from v10 to v11:
> - replace direct register read from etm3 sysfs with IPI.
> - fix issue cntr_val and others field which required to be shown after
> sysfs session disable.
> - prohibit the write for some etm3 sysfs while sysfs session is
> enabled.
> - drop locktype change in etm3
> - Link to v10: https://lore.kernel.org/r/20260911-separate_etm_cfg_v2-v10-0-1b715d95927a@arm.com
>
> from v9 to v10:
> - rebase to coresight/next
> - https://lore.kernel.org/all/20260725113645.57519-1-yeoreum.yun@arm.com/
>
> from v8 to v9:
> - add feat_csdev_lock guard interface.
> - set feat_csdev->drv_spinlock as NULL for etmv4_drvdata.
> - https://lore.kernel.org/all/20260629090007.1718746-1-yeoreum.yun@arm.com/
>
> from v7 to v8:
> - accept @Leo Yan' suggestion to handle error.
> - small minor fixes following @Suzuki' suggestion.
> - https://lore.kernel.org/all/20260519154812.254884-1-yeoreum.yun@arm.com/
>
> from v6 to v7:
> - rebase on coresight/next
> - add ETM_MAX_SEQ_TRANSITIONS define
> - remove redundant patch relavent cpu-hotplug as coresight-pm patch
> merged.
> - https://lore.kernel.org/all/20260422132203.977549-1-yeoreum.yun@arm.com/
>
> from v5 to v6:
> - fix missing of calling cscfg_csdev_disable_active_config()
> - add rb & fixes tags.
> - add ss_status field in etm4x_drvdata to expose STATUS and PENDING bits.
> - https://lore.kernel.org/all/20260415165528.3369607-1-yeoreum.yun@arm.com/
>
> 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 (14):
> coresight: etm4x: read-back TRCSEQSTR at disabling and prohibit modifying seq_state while enabling.
> coresight: etm4x: prohibit modifying cntr_val while session is enabled
> coresight: etm3x: prohibit modifying cntr_val and reset while session is enabled
> coresight: etm4x: fix inconsistencies with sysfs configuration
> coresight: etm3x: fix inconsistencies with sysfs configuration
> coresight: etm3x: remove redundant cpu online check on etm_enable_sysfs()
> coresight: etm4x: introduce struct etm4_caps
> coresight: etm4x: exclude ss_status from drvdata->config
> coresight: etm4x: remove s_ex_level from config
> coresight: etm4x: rename local config as curr_config referring drvdata->curr_config
> coresight: etm4x: rename drvdata->config to sysfs_config
> coresight: etm3x: introduce struct etm_caps
> coresight: etm3x: rename local config as curr_config referring drvdata->curr_config
> coresight: etm3x: rename drvdata->config to sysfs_config
>
> drivers/hwtracing/coresight/coresight-config.c | 18 +-
> drivers/hwtracing/coresight/coresight-config.h | 22 +
> drivers/hwtracing/coresight/coresight-etm.h | 48 +-
> drivers/hwtracing/coresight/coresight-etm3x-core.c | 196 +++--
> .../hwtracing/coresight/coresight-etm3x-sysfs.c | 461 +++++-----
> drivers/hwtracing/coresight/coresight-etm4x-cfg.c | 14 +-
> drivers/hwtracing/coresight/coresight-etm4x-core.c | 567 ++++++------
> .../hwtracing/coresight/coresight-etm4x-sysfs.c | 961 +++++++++++----------
> drivers/hwtracing/coresight/coresight-etm4x.h | 199 +++--
> 9 files changed, 1340 insertions(+), 1146 deletions(-)
> ---
> base-commit: a3281934612608db9e1d24aaf913c846e913de89
> change-id: 20260911-separate_etm_cfg_v2-3518a168cbff
>
> Best regards,
> --
> Sincerely,
> Yeoreum Yun
>
--
Sincerely,
Yeoreum Yun
prev parent reply other threads:[~2026-10-03 2:49 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 19:03 Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 01/14] coresight: etm4x: read-back TRCSEQSTR at disabling and prohibit modifying seq_state while enabling Yeoreum Yun
2026-10-03 1:33 ` sashiko-bot
2026-10-03 1:47 ` Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 02/14] coresight: etm4x: prohibit modifying cntr_val while session is enabled Yeoreum Yun
2026-10-03 1:33 ` sashiko-bot
2026-10-03 1:50 ` Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 03/14] coresight: etm3x: prohibit modifying cntr_val and reset " Yeoreum Yun
2026-10-03 1:33 ` sashiko-bot
2026-10-03 2:02 ` Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 04/14] coresight: etm4x: fix inconsistencies with sysfs configuration Yeoreum Yun
2026-10-03 1:33 ` sashiko-bot
2026-10-03 2:30 ` Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 05/14] coresight: etm3x: " Yeoreum Yun
2026-10-03 1:33 ` sashiko-bot
2026-10-03 2:47 ` Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 06/14] coresight: etm3x: remove redundant cpu online check on etm_enable_sysfs() Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 07/14] coresight: etm4x: introduce struct etm4_caps Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 08/14] coresight: etm4x: exclude ss_status from drvdata->config Yeoreum Yun
2026-10-03 1:33 ` sashiko-bot
2026-10-03 2:38 ` Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 09/14] coresight: etm4x: remove s_ex_level from config Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 10/14] coresight: etm4x: rename local config as curr_config referring drvdata->curr_config Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 11/14] coresight: etm4x: rename drvdata->config to sysfs_config Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 12/14] coresight: etm3x: introduce struct etm_caps Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 13/14] coresight: etm3x: rename local config as curr_config referring drvdata->curr_config Yeoreum Yun
2026-10-02 19:03 ` [PATCH v13 14/14] coresight: etm3x: rename drvdata->config to sysfs_config Yeoreum Yun
2026-10-03 2:49 ` Yeoreum Yun [this message]
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=asBtKMMdd38ZpSlI@e129823.arm.com \
--to=yeoreum.yun@arm.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=bigeasy@linutronix.de \
--cc=clrkwllms@kernel.org \
--cc=coresight@lists.linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=james.clark@linaro.org \
--cc=leo.yan@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=mathieu.poirier@linaro.org \
--cc=mike.leach@arm.com \
--cc=rostedt@goodmis.org \
--cc=suzuki.poulose@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
all inboxes | Powered by JetHome®