All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Ajust lockdep static allocations for sparc
@ 2016-09-26 22:31 ` Babu Moger
  0 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-26 22:31 UTC (permalink / raw)
  To: peterz, mingo, akpm, keescook, dan.j.williams, aryabinin, tj
  Cc: linux-kernel, sparclinux, babu.moger

These patches limit the static allocations for lockdep
data structures used for debugging locking correctness. This is required
for sparc as it requires .text, .data and .bss to fit in required 32MB
limit for the kernel. Right now, with PROVE_LOCKING enabled we could
go over this limit and cause system boot-up problems. These patches
limit the static allocations so that everything fits in current required
space limit. This is only visible for sparc.

patch 1 : Adds new config parameter CONFIG_PROVE_LOCKING_SMALL
Patch 2 : Adjusts the sizes based on the new config parameter

v1-> v2:
   As suggested by Peter Zijlstra, keeping the default as is.
   Introduced new config variable CONFIG_PROVE_LOCKING_SMALL
   to handle sparc specific case.

v0:
   Initial revision.

Babu Moger (2):
  config: Add new CONFIG_PROVE_LOCKING_SMALL
  lockdep: Keep the static allocations small for PROVE_LOCKING_SMALL

 kernel/locking/lockdep_internals.h |   13 ++++++++++---
 lib/Kconfig.debug                  |   17 +++++++++++++++++
 2 files changed, 27 insertions(+), 3 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 0/2] Ajust lockdep static allocations for sparc
@ 2016-09-26 22:31 ` Babu Moger
  0 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-26 22:31 UTC (permalink / raw)
  To: peterz, mingo, akpm, keescook, dan.j.williams, aryabinin, tj
  Cc: linux-kernel, sparclinux, babu.moger

These patches limit the static allocations for lockdep
data structures used for debugging locking correctness. This is required
for sparc as it requires .text, .data and .bss to fit in required 32MB
limit for the kernel. Right now, with PROVE_LOCKING enabled we could
go over this limit and cause system boot-up problems. These patches
limit the static allocations so that everything fits in current required
space limit. This is only visible for sparc.

patch 1 : Adds new config parameter CONFIG_PROVE_LOCKING_SMALL
Patch 2 : Adjusts the sizes based on the new config parameter

v1-> v2:
   As suggested by Peter Zijlstra, keeping the default as is.
   Introduced new config variable CONFIG_PROVE_LOCKING_SMALL
   to handle sparc specific case.

v0:
   Initial revision.

Babu Moger (2):
  config: Add new CONFIG_PROVE_LOCKING_SMALL
  lockdep: Keep the static allocations small for PROVE_LOCKING_SMALL

 kernel/locking/lockdep_internals.h |   13 ++++++++++---
 lib/Kconfig.debug                  |   17 +++++++++++++++++
 2 files changed, 27 insertions(+), 3 deletions(-)


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
  2016-09-26 22:31 ` Babu Moger
@ 2016-09-26 22:31   ` Babu Moger
  -1 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-26 22:31 UTC (permalink / raw)
  To: peterz, mingo, akpm, keescook, dan.j.williams, aryabinin, tj
  Cc: linux-kernel, sparclinux, babu.moger

Adding the new config parameter CONFIG_PROVE_LOCKING_SMALL for sparc.

This feature limits the space used for "Lock debugging: prove locking
correctness" by about 4MB. The current sparc systms have the limitation of
32MB size for kernel size including .text, .data and .bss sections. With
PROVE_LOCKING feature, the kernel size could grow beyond this limit and
causing system bootup issues. With this option, kernel limits the size
of the entries of lock_chains, stack_trace etc. so that kernel fits in
required size limit.  This is only visible for sparc.

Signed-off-by: Babu Moger <babu.moger@oracle.com>
---
 lib/Kconfig.debug |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index b9cfdbf..c79de25 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1035,6 +1035,7 @@ config PROVE_LOCKING
 	select DEBUG_MUTEXES
 	select DEBUG_LOCK_ALLOC
 	select TRACE_IRQFLAGS
+	select PROVE_LOCKING_SMALL if SPARC
 	default n
 	help
 	 This feature enables the kernel to prove that all locking
@@ -1070,6 +1071,22 @@ config PROVE_LOCKING
 
 	 For more details, see Documentation/locking/lockdep-design.txt.
 
+config PROVE_LOCKING_SMALL
+	bool "Limit the space for prove locking correctness"
+	depends on PROVE_LOCKING && SPARC
+	help
+	 This feature limits the space used for "Lock debugging: prove
+	 locking correctness" by about 4MB. In sparc system, all the
+	 kernel's code, data, and bss, must have locked translations in
+	 the TLB so that it does not hit TLB misses. The current sparc
+	 chips have 8 TLB entries available that may be locked down, and
+	 with a 4mb page size, this gives a maximum of 32mb of memory for
+	 the kernel size. With PROVE_LOCKING feature, the kernel size could
+	 grow beyond this limit and causing system bootup issues. With
+	 this option, kernel limits the size of the entries of lock_chains,
+	 stack_trace etc. to debug PROVE_LOCKING so that kernel size fits
+	 in 32MB. This is only visible for SPARC.
+
 config LOCKDEP
 	bool
 	depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
@ 2016-09-26 22:31   ` Babu Moger
  0 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-26 22:31 UTC (permalink / raw)
  To: peterz, mingo, akpm, keescook, dan.j.williams, aryabinin, tj
  Cc: linux-kernel, sparclinux, babu.moger

Adding the new config parameter CONFIG_PROVE_LOCKING_SMALL for sparc.

This feature limits the space used for "Lock debugging: prove locking
correctness" by about 4MB. The current sparc systms have the limitation of
32MB size for kernel size including .text, .data and .bss sections. With
PROVE_LOCKING feature, the kernel size could grow beyond this limit and
causing system bootup issues. With this option, kernel limits the size
of the entries of lock_chains, stack_trace etc. so that kernel fits in
required size limit.  This is only visible for sparc.

Signed-off-by: Babu Moger <babu.moger@oracle.com>
---
 lib/Kconfig.debug |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index b9cfdbf..c79de25 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1035,6 +1035,7 @@ config PROVE_LOCKING
 	select DEBUG_MUTEXES
 	select DEBUG_LOCK_ALLOC
 	select TRACE_IRQFLAGS
+	select PROVE_LOCKING_SMALL if SPARC
 	default n
 	help
 	 This feature enables the kernel to prove that all locking
@@ -1070,6 +1071,22 @@ config PROVE_LOCKING
 
 	 For more details, see Documentation/locking/lockdep-design.txt.
 
+config PROVE_LOCKING_SMALL
+	bool "Limit the space for prove locking correctness"
+	depends on PROVE_LOCKING && SPARC
+	help
+	 This feature limits the space used for "Lock debugging: prove
+	 locking correctness" by about 4MB. In sparc system, all the
+	 kernel's code, data, and bss, must have locked translations in
+	 the TLB so that it does not hit TLB misses. The current sparc
+	 chips have 8 TLB entries available that may be locked down, and
+	 with a 4mb page size, this gives a maximum of 32mb of memory for
+	 the kernel size. With PROVE_LOCKING feature, the kernel size could
+	 grow beyond this limit and causing system bootup issues. With
+	 this option, kernel limits the size of the entries of lock_chains,
+	 stack_trace etc. to debug PROVE_LOCKING so that kernel size fits
+	 in 32MB. This is only visible for SPARC.
+
 config LOCKDEP
 	bool
 	depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 2/2] lockdep: Keep the static allocations small for PROVE_LOCKING_SMALL
  2016-09-26 22:31 ` Babu Moger
@ 2016-09-26 22:31   ` Babu Moger
  -1 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-26 22:31 UTC (permalink / raw)
  To: peterz, mingo, akpm, keescook, dan.j.williams, aryabinin, tj
  Cc: linux-kernel, sparclinux, babu.moger

Reduce the size of data structure for lockdep entries half if
PROVE_LOCKING_SMALL if defined. This is used for sparc. This
config variable is disabled by default.

Signed-off-by: Babu Moger <babu.moger@oracle.com>
---
 kernel/locking/lockdep_internals.h |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h
index 51c4b24..7d364a6 100644
--- a/kernel/locking/lockdep_internals.h
+++ b/kernel/locking/lockdep_internals.h
@@ -54,18 +54,25 @@ enum {
  * table (if it's not there yet), and we check it for lock order
  * conflicts and deadlocks.
  */
+#ifdef CONFIG_PROVE_LOCKING_SMALL
+#define MAX_LOCKDEP_ENTRIES	16384UL
+#define MAX_LOCKDEP_CHAINS_BITS	15
+#define MAX_STACK_TRACE_ENTRIES	262144UL
+#else
 #define MAX_LOCKDEP_ENTRIES	32768UL
 
 #define MAX_LOCKDEP_CHAINS_BITS	16
-#define MAX_LOCKDEP_CHAINS	(1UL << MAX_LOCKDEP_CHAINS_BITS)
-
-#define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5)
 
 /*
  * Stack-trace: tightly packed array of stack backtrace
  * addresses. Protected by the hash_lock.
  */
 #define MAX_STACK_TRACE_ENTRIES	524288UL
+#endif
+
+#define MAX_LOCKDEP_CHAINS	(1UL << MAX_LOCKDEP_CHAINS_BITS)
+
+#define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5)
 
 extern struct list_head all_lock_classes;
 extern struct lock_chain lock_chains[];
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v2 2/2] lockdep: Keep the static allocations small for PROVE_LOCKING_SMALL
@ 2016-09-26 22:31   ` Babu Moger
  0 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-26 22:31 UTC (permalink / raw)
  To: peterz, mingo, akpm, keescook, dan.j.williams, aryabinin, tj
  Cc: linux-kernel, sparclinux, babu.moger

Reduce the size of data structure for lockdep entries half if
PROVE_LOCKING_SMALL if defined. This is used for sparc. This
config variable is disabled by default.

Signed-off-by: Babu Moger <babu.moger@oracle.com>
---
 kernel/locking/lockdep_internals.h |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h
index 51c4b24..7d364a6 100644
--- a/kernel/locking/lockdep_internals.h
+++ b/kernel/locking/lockdep_internals.h
@@ -54,18 +54,25 @@ enum {
  * table (if it's not there yet), and we check it for lock order
  * conflicts and deadlocks.
  */
+#ifdef CONFIG_PROVE_LOCKING_SMALL
+#define MAX_LOCKDEP_ENTRIES	16384UL
+#define MAX_LOCKDEP_CHAINS_BITS	15
+#define MAX_STACK_TRACE_ENTRIES	262144UL
+#else
 #define MAX_LOCKDEP_ENTRIES	32768UL
 
 #define MAX_LOCKDEP_CHAINS_BITS	16
-#define MAX_LOCKDEP_CHAINS	(1UL << MAX_LOCKDEP_CHAINS_BITS)
-
-#define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5)
 
 /*
  * Stack-trace: tightly packed array of stack backtrace
  * addresses. Protected by the hash_lock.
  */
 #define MAX_STACK_TRACE_ENTRIES	524288UL
+#endif
+
+#define MAX_LOCKDEP_CHAINS	(1UL << MAX_LOCKDEP_CHAINS_BITS)
+
+#define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5)
 
 extern struct list_head all_lock_classes;
 extern struct lock_chain lock_chains[];
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
  2016-09-26 22:31   ` Babu Moger
@ 2016-09-27  4:46     ` Sam Ravnborg
  -1 siblings, 0 replies; 16+ messages in thread
From: Sam Ravnborg @ 2016-09-27  4:46 UTC (permalink / raw)
  To: Babu Moger
  Cc: peterz, mingo, akpm, keescook, dan.j.williams, aryabinin, tj,
	linux-kernel, sparclinux

Hi Babu.

On Mon, Sep 26, 2016 at 03:31:37PM -0700, Babu Moger wrote:
> Adding the new config parameter CONFIG_PROVE_LOCKING_SMALL for sparc.
> 
> This feature limits the space used for "Lock debugging: prove locking
> correctness" by about 4MB. The current sparc systms have the limitation of
> 32MB size for kernel size including .text, .data and .bss sections. With
> PROVE_LOCKING feature, the kernel size could grow beyond this limit and
> causing system bootup issues. With this option, kernel limits the size
> of the entries of lock_chains, stack_trace etc. so that kernel fits in
> required size limit.  This is only visible for sparc.
> 
> Signed-off-by: Babu Moger <babu.moger@oracle.com>
> ---
>  lib/Kconfig.debug |   17 +++++++++++++++++
>  1 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index b9cfdbf..c79de25 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1035,6 +1035,7 @@ config PROVE_LOCKING
>  	select DEBUG_MUTEXES
>  	select DEBUG_LOCK_ALLOC
>  	select TRACE_IRQFLAGS
> +	select PROVE_LOCKING_SMALL if SPARC
>  	default n
>  	help
>  	 This feature enables the kernel to prove that all locking
> @@ -1070,6 +1071,22 @@ config PROVE_LOCKING
>  
>  	 For more details, see Documentation/locking/lockdep-design.txt.
>  
> +config PROVE_LOCKING_SMALL
> +	bool "Limit the space for prove locking correctness"
> +	depends on PROVE_LOCKING && SPARC
> +	help
> +	 This feature limits the space used for "Lock debugging: prove
> +	 locking correctness" by about 4MB. In sparc system, all the
> +	 kernel's code, data, and bss, must have locked translations in
> +	 the TLB so that it does not hit TLB misses. The current sparc
> +	 chips have 8 TLB entries available that may be locked down, and
> +	 with a 4mb page size, this gives a maximum of 32mb of memory for
> +	 the kernel size. With PROVE_LOCKING feature, the kernel size could
> +	 grow beyond this limit and causing system bootup issues. With
> +	 this option, kernel limits the size of the entries of lock_chains,
> +	 stack_trace etc. to debug PROVE_LOCKING so that kernel size fits
> +	 in 32MB. This is only visible for SPARC.

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.

	Sam

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
@ 2016-09-27  4:46     ` Sam Ravnborg
  0 siblings, 0 replies; 16+ messages in thread
From: Sam Ravnborg @ 2016-09-27  4:46 UTC (permalink / raw)
  To: Babu Moger
  Cc: peterz, mingo, akpm, keescook, dan.j.williams, aryabinin, tj,
	linux-kernel, sparclinux

Hi Babu.

On Mon, Sep 26, 2016 at 03:31:37PM -0700, Babu Moger wrote:
> Adding the new config parameter CONFIG_PROVE_LOCKING_SMALL for sparc.
> 
> This feature limits the space used for "Lock debugging: prove locking
> correctness" by about 4MB. The current sparc systms have the limitation of
> 32MB size for kernel size including .text, .data and .bss sections. With
> PROVE_LOCKING feature, the kernel size could grow beyond this limit and
> causing system bootup issues. With this option, kernel limits the size
> of the entries of lock_chains, stack_trace etc. so that kernel fits in
> required size limit.  This is only visible for sparc.
> 
> Signed-off-by: Babu Moger <babu.moger@oracle.com>
> ---
>  lib/Kconfig.debug |   17 +++++++++++++++++
>  1 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index b9cfdbf..c79de25 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1035,6 +1035,7 @@ config PROVE_LOCKING
>  	select DEBUG_MUTEXES
>  	select DEBUG_LOCK_ALLOC
>  	select TRACE_IRQFLAGS
> +	select PROVE_LOCKING_SMALL if SPARC
>  	default n
>  	help
>  	 This feature enables the kernel to prove that all locking
> @@ -1070,6 +1071,22 @@ config PROVE_LOCKING
>  
>  	 For more details, see Documentation/locking/lockdep-design.txt.
>  
> +config PROVE_LOCKING_SMALL
> +	bool "Limit the space for prove locking correctness"
> +	depends on PROVE_LOCKING && SPARC
> +	help
> +	 This feature limits the space used for "Lock debugging: prove
> +	 locking correctness" by about 4MB. In sparc system, all the
> +	 kernel's code, data, and bss, must have locked translations in
> +	 the TLB so that it does not hit TLB misses. The current sparc
> +	 chips have 8 TLB entries available that may be locked down, and
> +	 with a 4mb page size, this gives a maximum of 32mb of memory for
> +	 the kernel size. With PROVE_LOCKING feature, the kernel size could
> +	 grow beyond this limit and causing system bootup issues. With
> +	 this option, kernel limits the size of the entries of lock_chains,
> +	 stack_trace etc. to debug PROVE_LOCKING so that kernel size fits
> +	 in 32MB. This is only visible for SPARC.

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.

	Sam

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
  2016-09-27  4:46     ` Sam Ravnborg
@ 2016-09-27 11:40       ` Peter Zijlstra
  -1 siblings, 0 replies; 16+ messages in thread
From: Peter Zijlstra @ 2016-09-27 11:40 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Babu Moger, mingo, akpm, keescook, dan.j.williams, aryabinin, tj,
	linux-kernel, sparclinux

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.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
@ 2016-09-27 11:40       ` Peter Zijlstra
  0 siblings, 0 replies; 16+ messages in thread
From: Peter Zijlstra @ 2016-09-27 11:40 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Babu Moger, mingo, akpm, keescook, dan.j.williams, aryabinin, tj,
	linux-kernel, sparclinux

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.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
  2016-09-27 11:40       ` Peter Zijlstra
@ 2016-09-27 14:51         ` Babu Moger
  -1 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-27 14:51 UTC (permalink / raw)
  To: Peter Zijlstra, Sam Ravnborg
  Cc: mingo, akpm, keescook, dan.j.williams, aryabinin, tj,
	linux-kernel, sparclinux


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

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
@ 2016-09-27 14:51         ` Babu Moger
  0 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-27 14:51 UTC (permalink / raw)
  To: Peter Zijlstra, Sam Ravnborg
  Cc: mingo, akpm, keescook, dan.j.williams, aryabinin, tj,
	linux-kernel, sparclinux


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


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
  2016-09-27 14:51         ` Babu Moger
@ 2016-09-27 15:43           ` Sam Ravnborg
  -1 siblings, 0 replies; 16+ messages in thread
From: Sam Ravnborg @ 2016-09-27 15:43 UTC (permalink / raw)
  To: Babu Moger
  Cc: Peter Zijlstra, mingo, akpm, keescook, dan.j.williams, aryabinin,
	tj, linux-kernel, sparclinux

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.

	Sam

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
@ 2016-09-27 15:43           ` Sam Ravnborg
  0 siblings, 0 replies; 16+ messages in thread
From: Sam Ravnborg @ 2016-09-27 15:43 UTC (permalink / raw)
  To: Babu Moger
  Cc: Peter Zijlstra, mingo, akpm, keescook, dan.j.williams, aryabinin,
	tj, linux-kernel, sparclinux

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.

	Sam

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
  2016-09-27 15:43           ` Sam Ravnborg
@ 2016-09-27 16:26             ` Babu Moger
  -1 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-27 16:26 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Peter Zijlstra, mingo, akpm, keescook, dan.j.williams, aryabinin,
	tj, linux-kernel, sparclinux



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

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL
@ 2016-09-27 16:26             ` Babu Moger
  0 siblings, 0 replies; 16+ messages in thread
From: Babu Moger @ 2016-09-27 16:26 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Peter Zijlstra, mingo, akpm, keescook, dan.j.williams, aryabinin,
	tj, linux-kernel, sparclinux



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


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-09-27 16:27 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-26 22:31 [PATCH v2 0/2] Ajust lockdep static allocations for sparc Babu Moger
2016-09-26 22:31 ` Babu Moger
2016-09-26 22:31 ` [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL Babu Moger
2016-09-26 22:31   ` Babu Moger
2016-09-27  4:46   ` Sam Ravnborg
2016-09-27  4:46     ` Sam Ravnborg
2016-09-27 11:40     ` Peter Zijlstra
2016-09-27 11:40       ` Peter Zijlstra
2016-09-27 14:51       ` Babu Moger
2016-09-27 14:51         ` Babu Moger
2016-09-27 15:43         ` Sam Ravnborg
2016-09-27 15:43           ` Sam Ravnborg
2016-09-27 16:26           ` Babu Moger
2016-09-27 16:26             ` Babu Moger
2016-09-26 22:31 ` [PATCH v2 2/2] lockdep: Keep the static allocations small for PROVE_LOCKING_SMALL Babu Moger
2016-09-26 22:31   ` Babu Moger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.