* [PATCH 1/1] debugobjects: Allow bigger number of objects
@ 2016-01-22 11:22 Christian Borntraeger
2016-01-26 20:22 ` Thomas Gleixner
0 siblings, 1 reply; 4+ messages in thread
From: Christian Borntraeger @ 2016-01-22 11:22 UTC (permalink / raw)
To: linux-kernel; +Cc: Thomas Gleixner, Christian Borntraeger
On my bigger s390 systems I always get
"Out of memory. ODEBUG disabled". Since the number of objects
is needed at compile time in the code, let's provide a Kconfig
variable to increase the number of static objects.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
lib/Kconfig.debug | 11 +++++++++++
lib/debugobjects.c | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8c15b29..dc44b6f 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -453,6 +453,17 @@ config DEBUG_OBJECTS_ENABLE_DEFAULT
help
Debug objects boot parameter default value
+config DEBUG_OBJECTS_STATIC_ELEMENTS
+ int "debug_objects static element buffer size (100-10000)"
+ range 100 10000
+ default "500"
+ depends on DEBUG_OBJECTS
+ help
+ How many static objects can be stored at early boot time. If this
+ value is exceeded object debugging will stop with an message
+ "Out of memory. ODEBUG disabled". Higher values will allocate a
+ bigger static buffer, but this buffer will be released later on.
+
config DEBUG_SLAB
bool "Debug slab memory allocations"
depends on DEBUG_KERNEL && SLAB && !KMEMCHECK
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 547f7f9..fc4ae86 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -21,7 +21,7 @@
#define ODEBUG_HASH_BITS 14
#define ODEBUG_HASH_SIZE (1 << ODEBUG_HASH_BITS)
-#define ODEBUG_POOL_SIZE 512
+#define ODEBUG_POOL_SIZE CONFIG_DEBUG_OBJECTS_STATIC_ELEMENTS
#define ODEBUG_POOL_MIN_LEVEL 256
#define ODEBUG_CHUNK_SHIFT PAGE_SHIFT
--
2.3.0
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH 1/1] debugobjects: Allow bigger number of objects
2016-01-22 11:22 [PATCH 1/1] debugobjects: Allow bigger number of objects Christian Borntraeger
@ 2016-01-26 20:22 ` Thomas Gleixner
2016-01-27 12:42 ` Christian Borntraeger
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Gleixner @ 2016-01-26 20:22 UTC (permalink / raw)
To: Christian Borntraeger; +Cc: linux-kernel
On Fri, 22 Jan 2016, Christian Borntraeger wrote:
> On my bigger s390 systems I always get
> "Out of memory. ODEBUG disabled". Since the number of objects
> is needed at compile time in the code, let's provide a Kconfig
> variable to increase the number of static objects.
How many do you need on those big machines? Can't we scale that automagically
with the number of cpus or such?
Thanks,
tglx
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> lib/Kconfig.debug | 11 +++++++++++
> lib/debugobjects.c | 2 +-
> 2 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 8c15b29..dc44b6f 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -453,6 +453,17 @@ config DEBUG_OBJECTS_ENABLE_DEFAULT
> help
> Debug objects boot parameter default value
>
> +config DEBUG_OBJECTS_STATIC_ELEMENTS
> + int "debug_objects static element buffer size (100-10000)"
> + range 100 10000
> + default "500"
> + depends on DEBUG_OBJECTS
> + help
> + How many static objects can be stored at early boot time. If this
> + value is exceeded object debugging will stop with an message
> + "Out of memory. ODEBUG disabled". Higher values will allocate a
> + bigger static buffer, but this buffer will be released later on.
> +
> config DEBUG_SLAB
> bool "Debug slab memory allocations"
> depends on DEBUG_KERNEL && SLAB && !KMEMCHECK
> diff --git a/lib/debugobjects.c b/lib/debugobjects.c
> index 547f7f9..fc4ae86 100644
> --- a/lib/debugobjects.c
> +++ b/lib/debugobjects.c
> @@ -21,7 +21,7 @@
> #define ODEBUG_HASH_BITS 14
> #define ODEBUG_HASH_SIZE (1 << ODEBUG_HASH_BITS)
>
> -#define ODEBUG_POOL_SIZE 512
> +#define ODEBUG_POOL_SIZE CONFIG_DEBUG_OBJECTS_STATIC_ELEMENTS
> #define ODEBUG_POOL_MIN_LEVEL 256
>
> #define ODEBUG_CHUNK_SHIFT PAGE_SHIFT
> --
> 2.3.0
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] debugobjects: Allow bigger number of objects
2016-01-26 20:22 ` Thomas Gleixner
@ 2016-01-27 12:42 ` Christian Borntraeger
2016-01-27 13:37 ` Thomas Gleixner
0 siblings, 1 reply; 4+ messages in thread
From: Christian Borntraeger @ 2016-01-27 12:42 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: linux-kernel
On 01/26/2016 09:22 PM, Thomas Gleixner wrote:
> On Fri, 22 Jan 2016, Christian Borntraeger wrote:
>
>> On my bigger s390 systems I always get
>> "Out of memory. ODEBUG disabled". Since the number of objects
>> is needed at compile time in the code, let's provide a Kconfig
>> variable to increase the number of static objects.
>
> How many do you need on those big machines? Can't we scale that automagically
> with the number of cpus or such?
It seems to be 530 - actually pretty close.
Hmm, we could simply increase that to 1000, it is initdata anyway?
>
> Thanks,
>
> tglx
>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> lib/Kconfig.debug | 11 +++++++++++
>> lib/debugobjects.c | 2 +-
>> 2 files changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
>> index 8c15b29..dc44b6f 100644
>> --- a/lib/Kconfig.debug
>> +++ b/lib/Kconfig.debug
>> @@ -453,6 +453,17 @@ config DEBUG_OBJECTS_ENABLE_DEFAULT
>> help
>> Debug objects boot parameter default value
>>
>> +config DEBUG_OBJECTS_STATIC_ELEMENTS
>> + int "debug_objects static element buffer size (100-10000)"
>> + range 100 10000
>> + default "500"
>> + depends on DEBUG_OBJECTS
>> + help
>> + How many static objects can be stored at early boot time. If this
>> + value is exceeded object debugging will stop with an message
>> + "Out of memory. ODEBUG disabled". Higher values will allocate a
>> + bigger static buffer, but this buffer will be released later on.
>> +
>> config DEBUG_SLAB
>> bool "Debug slab memory allocations"
>> depends on DEBUG_KERNEL && SLAB && !KMEMCHECK
>> diff --git a/lib/debugobjects.c b/lib/debugobjects.c
>> index 547f7f9..fc4ae86 100644
>> --- a/lib/debugobjects.c
>> +++ b/lib/debugobjects.c
>> @@ -21,7 +21,7 @@
>> #define ODEBUG_HASH_BITS 14
>> #define ODEBUG_HASH_SIZE (1 << ODEBUG_HASH_BITS)
>>
>> -#define ODEBUG_POOL_SIZE 512
>> +#define ODEBUG_POOL_SIZE CONFIG_DEBUG_OBJECTS_STATIC_ELEMENTS
>> #define ODEBUG_POOL_MIN_LEVEL 256
>>
>> #define ODEBUG_CHUNK_SHIFT PAGE_SHIFT
>> --
>> 2.3.0
>>
>>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] debugobjects: Allow bigger number of objects
2016-01-27 12:42 ` Christian Borntraeger
@ 2016-01-27 13:37 ` Thomas Gleixner
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Gleixner @ 2016-01-27 13:37 UTC (permalink / raw)
To: Christian Borntraeger; +Cc: linux-kernel
On Wed, 27 Jan 2016, Christian Borntraeger wrote:
> On 01/26/2016 09:22 PM, Thomas Gleixner wrote:
> > On Fri, 22 Jan 2016, Christian Borntraeger wrote:
> >
> >> On my bigger s390 systems I always get
> >> "Out of memory. ODEBUG disabled". Since the number of objects
> >> is needed at compile time in the code, let's provide a Kconfig
> >> variable to increase the number of static objects.
> >
> > How many do you need on those big machines? Can't we scale that automagically
> > with the number of cpus or such?
>
> It seems to be 530 - actually pretty close.
> Hmm, we could simply increase that to 1000, it is initdata anyway?
Yes, it's initdata, so it doesn't matter much.
Thanks,
tglx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-01-27 13:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-22 11:22 [PATCH 1/1] debugobjects: Allow bigger number of objects Christian Borntraeger
2016-01-26 20:22 ` Thomas Gleixner
2016-01-27 12:42 ` Christian Borntraeger
2016-01-27 13:37 ` Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®