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

