[PATCH 1/1] debugobjects: Allow bigger number of objects

From: Christian Borntraeger
Date: Fri Jan 22 2016 - 06:22:39 EST


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@xxxxxxxxxx>
---
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