Re: [PATCH] LOCKDEP: use depends on LOCKDEP_SUPPORT instead of $ARCH list

From: Randy Dunlap
Date: Sat May 22 2021 - 23:16:15 EST


On 5/17/21 7:02 AM, Waiman Long wrote:
> On 5/17/21 3:11 AM, Ingo Molnar wrote:
>> * Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>>
>>> Both arch/um/ and arch/xtensa/ cause a Kconfig warning for LOCKDEP.
>>> These arch-es select LOCKDEP_SUPPORT but they are not listed as one
>>> of the arch-es that LOCKDEP depends on.
>>>
>>> Since (16) arch-es define the Kconfig symbol LOCKDEP_SUPPORT if they
>>> intend to have LOCKDEP support, replace the awkward list of
>>> arch-es that LOCKDEP depends on with the LOCKDEP_SUPPORT symbol.
>>>
>>> Fixes this kconfig warning: (for both um and xtensa)
>>>
>>> WARNING: unmet direct dependencies detected for LOCKDEP
>>>    Depends on [n]: DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=y] && (FRAME_POINTER [=n] || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
>>>    Selected by [y]:
>>>    - PROVE_LOCKING [=y] && DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=y]
>>>    - LOCK_STAT [=y] && DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=y]
>>>    - DEBUG_LOCK_ALLOC [=y] && DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=y]
>>>
>>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>>> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>>> Cc: Will Deacon <will@xxxxxxxxxx>
>>> Cc: Waiman Long <longman@xxxxxxxxxx>
>>> Cc: Boqun Feng <boqun.feng@xxxxxxxxx>
>>> Cc: Chris Zankel <chris@xxxxxxxxxx>
>>> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx>
>>> Cc: linux-xtensa@xxxxxxxxxxxxxxxx
>>> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
>>> Cc: Jeff Dike <jdike@xxxxxxxxxxx>
>>> Cc: Richard Weinberger <richard@xxxxxx>
>>> Cc: Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx>
>>> Cc: linux-um@xxxxxxxxxxxxxxxxxxx
>>> ---
>>>   lib/Kconfig.debug |    2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> --- linux-next-20210514.orig/lib/Kconfig.debug
>>> +++ linux-next-20210514/lib/Kconfig.debug
>>> @@ -1383,7 +1383,7 @@ config LOCKDEP
>>>       bool
>>>       depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
>>>       select STACKTRACE
>>> -    depends on FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86
>>> +    depends on FRAME_POINTER || LOCKDEP_SUPPORT
>> Ok - the FRAME_POINTER bit is weird. Are there any architectures that have
>> FRAME_POINTER defined but no LOCKDEP_SUPPORT?
>
> LOCK_DEBUGGING_SUPPORT depends on LOCKDEP_SUPPORT. So this patch is equivalent to just delete the second depends-on line. Beside LOCKDEP, LATENCYTOP also have exactly the same depends-on line.

I will attempt to consolidate those.

> So isn't FRAME_POINTER used mainly to support STACK_TRACE? However, LOCK_DEBUGGING_SUPPORT has already included STACK_TRACE_SUPPORT in its dependency. So why there is a FRAME_POINTER dependency?

I dunno why FRAME_POINTER is there. It was there before this patch.

thanks.
--
~Randy