Hi Lars,
On Wed, Aug 20, 2025 at 2:39 PM Lars Persson Lars.Persson@axis.com wrote:
Hi
One reason for not seeing this issue more is that the NXP SDK ships with the NS_TIMER_SWITCH=1 patch reverted.
The current SDK for example has this commit (it was there already 2020 on older branches):
https://github.com/nxp-imx/imx-atf/commit/c73b052c4d57a10b9bfcd9002e8730088d...
Thanks, that's good to know.
Cheers, Jens
/Lars
From: Jens Wiklander jens.wiklander@linaro.org Date: Wednesday, 20 August 2025 at 13:10 To: Stauffer Thomas MTANA Thomas.Stauffer@mt.com, Sumit Garg sumit.garg@kernel.org Cc: op-tee@lists.trustedfirmware.org op-tee@lists.trustedfirmware.org, Ferreira Joao MTANA Joao.Ferreira@mt.com Subject: Re: rcu_preempt detected stalls on CPUs/tasks
Hi Thomas,
On Mon, Aug 4, 2025 at 7:09 PM Stauffer Thomas MTANA via OP-TEE op-tee@lists.trustedfirmware.org wrote:
Hi,
I'm running OP-TEE 4.5 with PKCS11TA and ATF lts-v2.12.4 on an iMX8MP. When I create new rsa 4096 bit keypair with OP-TEE, I often get
rcu_preempt detected stalls on CPUs/tasks
from Linux 6.6.90 (mainline)
Also PID 0 is sometimes blocked for more than 30 seconds. When I create a RT task with even higher priority, this process is also blocked up to 2 seconds. For a test I disabled saving/restoring the NS timer register in ATF (arm-trusted-firmware/lib/el3_runtime/aarch64/context_mgmt.c), this seems to get completely rid of the problem. Neither creating nor signing leads to any issue anymore. This hack may lead to other problems I do not fully understand yet. I "believe" that at least since ARMv8, the CPU have their own timers for secure/non-secure world, but I would assume that ATF implements this correctly already.
I'm starting to suspect that we're setting NS_TIMER_SWITCH to 1 in services/spd/opteed/opteed.mk based on a misunderstanding. OP-TEE can use timers, but then it's using the EL3 physical timer. So OP-TEE should stay off the EL1 physical timer. Sumit, what's your view?
Maybe I'm completely wrong here (assuming that it cannot be I'm the first person having this issue on this platform). Hint in any direction would be helpful.
I'm surprised we haven't seen more of this issue.
Cheers, Jens
Regards
Thomas