[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090623212648.GA9502@localdomain.by>
Date: Wed, 24 Jun 2009 00:26:48 +0300
From: Sergey Senozhatsky <sergey.senozhatsky@...l.by>
To: Catalin Marinas <catalin.marinas@....com>
Cc: Pekka Enberg <penberg@...helsinki.fi>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: kmemleak: Early log buffer exceeded
Hello.
I can see on my both machines
[ 0.000135] kmemleak: Early log buffer exceeded
[ 0.000140] Pid: 0, comm: swapper Not tainted 2.6.30-dbginfo-nv-git19 #7
[ 0.000144] Call Trace:
[ 0.000153] [<c1418ecc>] ? printk+0x23/0x36
[ 0.000160] [<c10f7c12>] log_early+0xf2/0x110
[ 0.000165] [<c10f8788>] kmemleak_alloc+0x1f8/0x2c0
[ 0.000171] [<c10f28fb>] ? cache_alloc_debugcheck_after+0xeb/0x1e0
[ 0.000176] [<c10f496a>] ? __kmalloc+0xfa/0x240
[ 0.000182] [<c10761fc>] ? trace_hardirqs_on_caller+0x14c/0x1a0
[ 0.000187] [<c10f4a15>] __kmalloc+0x1a5/0x240
[ 0.000192] [<c10f4d8d>] ? alloc_arraycache+0x2d/0x80
[ 0.000198] [<c10f4d8d>] alloc_arraycache+0x2d/0x80
[ 0.000203] [<c10f4e7c>] do_tune_cpucache+0x9c/0x3a0
[ 0.000208] [<c10f5322>] enable_cpucache+0x42/0x110
[ 0.000215] [<c15ff7c4>] kmem_cache_init_late+0x32/0x82
[ 0.000221] [<c15e2995>] start_kernel+0x24c/0x366
[ 0.000226] [<c15e2517>] ? unknown_bootoption+0x0/0x1dd
[ 0.000231] [<c15e2088>] __init_begin+0x88/0xa1
mm/kmemleak.c
static struct early_log early_log[200];
static void log_early(int op_type, const void *ptr, size_t size,
int min_count, unsigned long offset, size_t length)
{
...
if (crt_early_log >= ARRAY_SIZE(early_log)) {
print Early log buffer exceeded;
call dump_stack, etc.
So, my questions are:
1. Is 200 really enough? Why 200 not 512, 1024 (for example)?
//If this has been already discussed - please point me.
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?
//For example like at void __init kmemleak_init(void)
Sergey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists