Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL

From: Babu Moger
Date: Tue Sep 27 2016 - 12:27:28 EST




On 9/27/2016 10:43 AM, Sam Ravnborg wrote:
On Tue, Sep 27, 2016 at 09:51:40AM -0500, Babu Moger wrote:
On 9/27/2016 6:40 AM, Peter Zijlstra wrote:
On Tue, Sep 27, 2016 at 06:46:25AM +0200, Sam Ravnborg wrote:
Since this is only relevant for sparc, and for sparc this is "select"ed,
then there is limited/no gain having this as a visible menu config option.

How about adding just a simple non-visible config symbol:

config PROVE_LOCKING_SMALL
bool

The nice help text can be added to the H file, and the select
can be move to the sparc/Kconfig file where it really belongs.
Yes, this should not be user selectable. I don't mind the help being
here though.
How about this?
Moved everything to arch/sparc/Kconfig.debug. It may be not useful
to have help in
config file as it is not visible. Lets have some explanation in .h file.
I will send v3 version if you all agree.
=====================================
diff --git a/arch/sparc/Kconfig.debug b/arch/sparc/Kconfig.debug
index 6db35fb..67e58a1 100644
--- a/arch/sparc/Kconfig.debug
+++ b/arch/sparc/Kconfig.debug
@@ -21,4 +21,9 @@ config FRAME_POINTER
depends on MCOUNT
default y

+config PROVE_LOCKING_SMALL
+ bool
+ depends on PROVE_LOCKING && SPARC
+ default y
+
endmenu
The idea is to have the SPAC specific stuff in arch/sparc/Kconfig,
and not scattered in Kconfig files all over the tree.

Therefore drop the "depends".

In sparc/Kconfig you then just do:

config SPARC
select PROVE_LOCKING_SMALL if PROVE_LOCKING

The if part is likely not needed as PROVE_LOCKING_SMALL will be ignored
unless PROVE_LOCKING is enabled.
Sure. thanks. Here it is below. I will re-post v3.


diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index cde1a62..353731f 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -43,6 +43,7 @@ config SPARC
select ODD_RT_SIGACTION
select OLD_SIGSUSPEND
select ARCH_HAS_SG_CHAIN
+ select PROVE_LOCKING_SMALL if PROVE_LOCKING

config SPARC32
def_bool !64BIT
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index ba2b0c8..3ba1665 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1008,6 +1008,9 @@ config PROVE_LOCKING

For more details, see Documentation/locking/lockdep-design.txt.

+config PROVE_LOCKING_SMALL
+ bool
+
config LOCKDEP
bool
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT




Sam