Messages in this thread | | | Date | Wed, 24 Jun 2009 13:08:09 +0300 | From | Sergey Senozhatsky <> | Subject | Re: kmemleak: Early log buffer exceeded |
| |
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
| |