All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yeoreum Yun <yeoreum.yun@arm.com>
To: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Yeoreum Yun <yeoreum.yun@arm.com>,
	coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, mike.leach@arm.com,
	james.clark@linaro.org, alexander.shishkin@linux.intel.com,
	leo.yan@arm.com, jie.gan@oss.qualcomm.com
Subject: Re: [PATCH v8 00/13] fix several inconsistencies with sysfs configuration in etmX
Date: Thu, 16 Jul 2026 20:24:32 +0100	[thread overview]
Message-ID: <alkv8JHDgylPBeSE@e129823.arm.com> (raw)
In-Reply-To: <6ec5e456-fdf9-4953-9a0f-6231b48df07a@arm.com>

On Thu, Jul 16, 2026 at 01:48:15PM +0100, Suzuki K Poulose wrote:
> On 29/06/2026 09:59, Yeoreum Yun wrote:
> > 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().
> >    - missing call of cscfg_csdev_disable_active_config()
> > 
> > This patch based on coresight tree's next
> 
> 
> Please could you move all the "Fixes" to the top of the series, that way
> it is cleaner to backport for the stable kernels

Okay. but the fix which based on the cleanup wouldn't be top of it.
I'll deploy below patches first:

  coresight: etm3x: change drvdata->spinlock type to raw_spin_lock_t
  coresight: etm4x: fix leaked trace id
  coresight: etm4x: fix underflow for usage of (nrseqstate - 1)
  coresight: etm4x: fix wrong check of etm4x_sspcicrn_present()

> 
> I have some minor comments, please could you address them. Otherwise,
> looks good to me. Thanks for the cleanup

Thanks for your review!

> 
> 
> > 
> > Patch History
> > =============
> > 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 (13):
> >    coresight: etm4x: fix wrong check of etm4x_sspcicrn_present()
> >    coresight: etm4x: fix underflow for usage of (nrseqstate - 1)
> >    coresight: etm4x: introduce struct etm4_caps
> >    coresight: etm4x: exclude ss_status from drvdata->config
> >    coresight: etm4x: remove s_ex_level from 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: missing cscfg_csdev_disable_active_config() in perf
> >      enable
> >    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 cpu online check on
> >      etm_enable_sysfs()
> > 
> >   drivers/hwtracing/coresight/coresight-etm.h   |  46 +-
> >   .../coresight/coresight-etm3x-core.c          |  96 ++--
> >   .../coresight/coresight-etm3x-sysfs.c         | 159 +++---
> >   .../hwtracing/coresight/coresight-etm4x-cfg.c |   5 +-
> >   .../coresight/coresight-etm4x-core.c          | 454 ++++++++++--------
> >   .../coresight/coresight-etm4x-sysfs.c         | 204 ++++----
> >   drivers/hwtracing/coresight/coresight-etm4x.h | 202 ++++----
> >   7 files changed, 639 insertions(+), 527 deletions(-)
> > 
> 

-- 
Sincerely,
Yeoreum Yun


  reply	other threads:[~2026-07-16 19:24 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-29  8:59 [PATCH v8 00/13] fix several inconsistencies with sysfs configuration in etmX Yeoreum Yun
2026-06-29  8:59 ` [PATCH v8 01/13] coresight: etm4x: fix wrong check of etm4x_sspcicrn_present() Yeoreum Yun
2026-06-29  8:59 ` [PATCH v8 02/13] coresight: etm4x: fix underflow for usage of (nrseqstate - 1) Yeoreum Yun
2026-06-29  8:59 ` [PATCH v8 03/13] coresight: etm4x: introduce struct etm4_caps Yeoreum Yun
2026-06-29  8:59 ` [PATCH v8 04/13] coresight: etm4x: exclude ss_status from drvdata->config Yeoreum Yun
2026-06-29  8:59 ` [PATCH v8 05/13] coresight: etm4x: remove s_ex_level from config Yeoreum Yun
2026-06-29  8:59 ` [PATCH v8 06/13] coresight: etm4x: remove redundant fields in etmv4_save_state Yeoreum Yun
2026-06-29  9:00 ` [PATCH v8 07/13] coresight: etm4x: fix leaked trace id Yeoreum Yun
2026-06-29  9:00 ` [PATCH v8 08/13] coresight: etm4x: fix inconsistencies with sysfs configuration Yeoreum Yun
2026-07-06 17:21   ` Leo Yan
2026-07-06 18:16     ` Yeoreum Yun
2026-07-07  8:25       ` Leo Yan
2026-07-07  8:59         ` Yeoreum Yun
2026-07-07  9:54           ` Yeoreum Yun
2026-07-16 12:42             ` Suzuki K Poulose
2026-07-06 17:39   ` Leo Yan
2026-07-06 18:20     ` Yeoreum Yun
2026-07-07  8:07       ` Leo Yan
2026-07-16 12:41     ` Suzuki K Poulose
2026-07-16 20:09       ` Yeoreum Yun
2026-07-16 12:46   ` Suzuki K Poulose
2026-07-16 19:57     ` Yeoreum Yun
2026-06-29  9:00 ` [PATCH v8 09/13] coresight: etm4x: missing cscfg_csdev_disable_active_config() in perf enable Yeoreum Yun
2026-06-29  9:00 ` [PATCH v8 10/13] coresight: etm3x: change drvdata->spinlock type to raw_spin_lock_t Yeoreum Yun
2026-06-29  9:00 ` [PATCH v8 11/13] coresight: etm3x: introduce struct etm_caps Yeoreum Yun
2026-06-29  9:00 ` [PATCH v8 12/13] coresight: etm3x: fix inconsistencies with sysfs configuration Yeoreum Yun
2026-06-29  9:00 ` [PATCH v8 13/13] coresight: etm3x: remove redundant cpu online check on etm_enable_sysfs() Yeoreum Yun
2026-07-16 12:48 ` [PATCH v8 00/13] fix several inconsistencies with sysfs configuration in etmX Suzuki K Poulose
2026-07-16 19:24   ` Yeoreum Yun [this message]
2026-07-16 20:11     ` Yeoreum Yun

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=alkv8JHDgylPBeSE@e129823.arm.com \
    --to=yeoreum.yun@arm.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=coresight@lists.linaro.org \
    --cc=james.clark@linaro.org \
    --cc=jie.gan@oss.qualcomm.com \
    --cc=leo.yan@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.leach@arm.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.