[RFC] SCTLR_EL1.TIDCP toggling for performance
From: Liao, Chang
Date: Thu Jul 17 2025 - 22:32:16 EST
Hi, Kristina
I've reviewed your patch [1] for FEAT_TIDCP1 support, which by default traps EL0
accesses to implementation-defined system registers and instructions at EL1/EL2.
Do you have any plans to add support for toggling the SCTLR_EL1.TIDCP1 bit? I'm
encountering performance degradation on CPU where certain implementation-defined
registers and instructions are designed for EL0 performance use. The trapping
overhead is substantial enough to compromise any benefits, and it's even worse
in virtualization. Therefore, I'm hoping there's a way to clear the SCTLR_EL1.TIDCP1
bit on such platforms, perhaps via a kernel config option or command-line parameter.
Alternatively, do you have a better solution for gracefully toggling this bit on
and off?
Thanks
[1] https://lore.kernel.org/linux-arm-kernel/Yrw3NWkH6D0CgRsF@xxxxxxxxxxxxx/T/#m5cfdb27b48d9d7e30db73e991fc6c232ba8a7349
--
BR
Liao, Chang