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 <[email protected]>
>> ---
>>  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
>>
>>
> 

Reply via email to