Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1491591 > unrolled thread
| Started by | Babu Moger <babu.moger@oracle.com> |
|---|---|
| First post | 2016-09-27 00:40 +0200 |
| Last post | 2016-09-27 18:30 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL Babu Moger <babu.moger@oracle.com> - 2016-09-27 00:40 +0200
Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL Sam Ravnborg <sam@ravnborg.org> - 2016-09-27 07:00 +0200
Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL Peter Zijlstra <peterz@infradead.org> - 2016-09-27 13:50 +0200
Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL Babu Moger <babu.moger@oracle.com> - 2016-09-27 17:00 +0200
Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL Sam Ravnborg <sam@ravnborg.org> - 2016-09-27 17:50 +0200
Re: [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL Babu Moger <babu.moger@oracle.com> - 2016-09-27 18:30 +0200
| From | Babu Moger <babu.moger@oracle.com> |
|---|---|
| Date | 2016-09-27 00:40 +0200 |
| Subject | [PATCH v2 1/2] config: Add new CONFIG_PROVE_LOCKING_SMALL |
| Message-ID | <slMJ3-1gp-9@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Sam Ravnborg <sam@ravnborg.org> |
|---|---|
| Date | 2016-09-27 07:00 +0200 |
| Message-ID | <slSEO-54F-11@gated-at.bofh.it> |
| In reply to | #1491591 |
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
[toc] | [prev] | [next] | [standalone]
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Date | 2016-09-27 13:50 +0200 |
| Message-ID | <slZ3z-zK-13@gated-at.bofh.it> |
| In reply to | #1491682 |
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.
[toc] | [prev] | [next] | [standalone]
| From | Babu Moger <babu.moger@oracle.com> |
|---|---|
| Date | 2016-09-27 17:00 +0200 |
| Message-ID | <sm21s-2jb-35@gated-at.bofh.it> |
| In reply to | #1491843 |
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
[toc] | [prev] | [next] | [standalone]
| From | Sam Ravnborg <sam@ravnborg.org> |
|---|---|
| Date | 2016-09-27 17:50 +0200 |
| Message-ID | <sm2NQ-2OB-27@gated-at.bofh.it> |
| In reply to | #1491971 |
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
[toc] | [prev] | [next] | [standalone]
| From | Babu Moger <babu.moger@oracle.com> |
|---|---|
| Date | 2016-09-27 18:30 +0200 |
| Message-ID | <sm3qx-3lO-7@gated-at.bofh.it> |
| In reply to | #1491998 |
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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web