On Mon, Dec 09, 2024 at 03:53:51PM +0200, Luca Coelho wrote:
This reverts commit 560af5dc839eef08a273908f390cfefefb82aa04. Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> --- It seems that we have a few issues with this configuration in xe and in i915. Let's try to revert it to see if the problems we're seeing go away. Note, these are _real_ issues, but only if CONFIG_RT is enabled, so the actual issues need to be solved properly, but we can revert this change until then, to avoid regressions.
+Jani Nikula, +Rodrigo I'm thinking about landing this in topic/core-for-CI. It seems we have quite a few locks to revisit - we are taking spinlocks while holding raw_spinlocks and until now there's no warning about this bug. It's a real problem only for PREEMPT_RT since otherwise there's no difference between the 2 lock types. However fixing this may involve quite a few changes: if we convert the lock to raw we may need to cascade the conversions to additional locks. The ones I identified are: pmu->lock, which would also need to have uncore->lock converted, which would then probably cascade to quite a few others :-/. I'm not sure converting uncore->lock will actually be a good thing. I will keep digging. Lucas De Marchi
lib/Kconfig.debug | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index f3d723705879..de4ffe09323b 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1397,14 +1397,22 @@ config PROVE_LOCKING For more details, see Documentation/locking/lockdep-design.rst. config PROVE_RAW_LOCK_NESTING - bool + bool "Enable raw_spinlock - spinlock nesting checks" depends on PROVE_LOCKING - default y + default n help Enable the raw_spinlock vs. spinlock nesting checks which ensure that the lock nesting rules for PREEMPT_RT enabled kernels are not violated. + NOTE: There are known nesting problems. So if you enable this + option expect lockdep splats until these problems have been fully + addressed which is work in progress. This config switch allows to + identify and analyze these problems. It will be removed and the + check permanently enabled once the main issues have been fixed. + + If unsure, select N. + config LOCK_STAT bool "Lock usage statistics" depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT -- 2.45.2