* [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.