Re: kmemleak: Early log buffer exceeded

From: Sergey Senozhatsky
Date: Wed Jun 24 2009 - 06:06:53 EST


On (06/24/09 10:35), Catalin Marinas wrote:
> > So, my questions are:
> > 1. Is 200 really enough? Why 200 not 512, 1024 (for example)?
>
> It seems that in your case it isn't. It is fine on the machines I tested
> it on but choosing this figure wasn't too scientific.
>
> I initially had it bigger and marked with the __init attribute to free
> it after initialisation but this was causing (harmless) section mismatch
> warnings.
>
Hello.

Why not configure it?

//EXAMPLE
config DEBUG_KMEMLEAK_EARLY_LOG_SIZE
int "Maximum early log entries"
range 200 2000
default "300"
depends on DEBUG_KMEMLEAK
help
Specify early_log size (200,400,etc.).

kmemleak.c
static struct early_log early_log[CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE];

(Well, CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE is a bit ugly.)


> What kind of hardware do you have?
>
Most of time - ASUS F3Jc laptop.


> > 2. When (crt_early_log >= ARRAY_SIZE(early_log)) == 1 we just can see stack.
> > Since we have "full" early_log maybe it'll be helpfull to see it?
>
> I recall allocating this dynamically didn't work properly but I'll give
> it another try. Otherwise, I can make it configurable and print a better
> message (probably without the stack dump).
>
> --
> Catalin
>

Sergey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/