[RFT] Revert "lockdep: Enable PROVE_RAW_LOCK_NESTING with PROVE_LOCKING."

Lucas De Marchi lucas.demarchi at intel.com
Tue Dec 10 17:00:13 UTC 2024


On Mon, Dec 09, 2024 at 03:53:51PM +0200, Luca Coelho wrote:
>This reverts commit 560af5dc839eef08a273908f390cfefefb82aa04.
>
>Signed-off-by: Luca Coelho <luciano.coelho at intel.com>
>---
>
>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
>


More information about the Intel-gfx mailing list