Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Yeoreum Yun <yeoreum.yun@arm.com>
Cc: suzuki.poulose@arm.com, mike.leach@linaro.org,
	james.clark@linaro.org, alexander.shishkin@linux.intel.com,
	bigeasy@linutronix.de, clrkwllms@kernel.org,
	coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev,
	nd@arm.com
Subject: Re: [PATCH 1/9] coresight: change coresight_device lock type to raw_spinlock_t
Date: Wed, 27 Nov 2024 12:09:54 -0500	[thread overview]
Message-ID: <20241127120954.0facd34f@gandalf.local.home> (raw)
In-Reply-To: <20241125094816.365472-2-yeoreum.yun@arm.com>

On Mon, 25 Nov 2024 09:48:08 +0000
Yeoreum Yun <yeoreum.yun@arm.com> wrote:

> @@ -853,17 +851,14 @@ EXPORT_SYMBOL_GPL(cscfg_unregister_csdev);
>  void cscfg_csdev_reset_feats(struct coresight_device *csdev)
>  {
>  	struct cscfg_feature_csdev *feat_csdev;
> -	unsigned long flags;
>  
> -	spin_lock_irqsave(&csdev->cscfg_csdev_lock, flags);
> +	guard(raw_spinlock_irqsave)(&csdev->cscfg_csdev_lock);
> +
>  	if (list_empty(&csdev->feature_csdev_list))
> -		goto unlock_exit;
> +		return;
>  
>  	list_for_each_entry(feat_csdev, &csdev->feature_csdev_list, node)
>  		cscfg_reset_feat(feat_csdev);

We should start documenting what is not real-time "safe". That is, if this
code is executed, we have a loop here that holds a raw spin lock. This
appears to make the time the raw spin lock held to be non deterministic.

If someone is running PREEMPT_RT and expects deterministic behavior, they
cannot be using this code. That is fine, but we should probably create a
document somewhere that notes this.

-- Steve


> -
> -unlock_exit:
> -	spin_unlock_irqrestore(&csdev->cscfg_csdev_lock, flags);
>  }
>  EXPORT_SYMBOL_GPL(cscfg_csdev_reset_feats);
>  


  reply	other threads:[~2024-11-27 17:10 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-25  9:48 [PATCH 0/9] coresight: change some driver' spinlock type to raw_spinlock_t Yeoreum Yun
2024-11-25  9:48 ` [PATCH 1/9] coresight: change coresight_device lock " Yeoreum Yun
2024-11-27 17:09   ` Steven Rostedt [this message]
2024-11-28  7:39     ` Yeo Reum Yun
2024-12-02 15:38       ` Steven Rostedt
2024-12-03  8:31         ` Yeo Reum Yun
2024-12-03 15:20           ` Steven Rostedt
2024-12-03 15:30             ` Yeo Reum Yun
2024-11-25  9:48 ` [PATCH 2/9] coresight-etm4x: change etmv4_drvdata spinlock " Yeoreum Yun
2024-11-27 16:30   ` James Clark
2024-11-28  6:39     ` Yeo Reum Yun
2024-11-25  9:48 ` [PATCH 3/9] coresight: change coresight_trace_id_map's lock " Yeoreum Yun
2024-11-25  9:48 ` [PATCH 4/9] coresight-cti: change cti_drvdata spinlock's " Yeoreum Yun
2024-11-25  9:48 ` [PATCH 5/9] coresight-etb10: change etb_drvdata " Yeoreum Yun
2024-11-25  9:48 ` [PATCH 6/9] coresight-funnel: change funnel_drvdata " Yeoreum Yun
2024-11-25  9:48 ` [PATCH 7/9] coresight-replicator: change replicator_drvdata " Yeoreum Yun
2024-11-25  9:48 ` [PATCH 8/9] coresight-tmc: change tmc_drvdata " Yeoreum Yun
2024-11-25  9:48 ` [PATCH 9/9] coresight/ultrasoc: change cti_drvdata " Yeoreum Yun
2024-11-27 16:44 ` [PATCH 0/9] coresight: change some driver' spinlock " James Clark
2024-11-28  6:23   ` Yeo Reum Yun
2024-11-28 10:55 ` James Clark
2024-11-28 11:48   ` Yeo Reum 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=20241127120954.0facd34f@gandalf.local.home \
    --to=rostedt@goodmis.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=bigeasy@linutronix.de \
    --cc=clrkwllms@kernel.org \
    --cc=coresight@lists.linaro.org \
    --cc=james.clark@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-devel@lists.linux.dev \
    --cc=mike.leach@linaro.org \
    --cc=nd@arm.com \
    --cc=suzuki.poulose@arm.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