[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070524073131.GA17501@elte.hu>
Date: Thu, 24 May 2007 09:31:31 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Christoph Lameter <clameter@....com>
Cc: Randy Dunlap <randy.dunlap@...cle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Michal Piotrowski <michal.k.k.piotrowski@...il.com>,
linux-kernel@...r.kernel.org
Subject: Re: 2.6.22-rc2-mm1
* Christoph Lameter <clameter@....com> wrote:
> +SLUB Debug output
> +-----------------
> +
> +Here is a sample of slub debug output:
> +
> +*** SLUB kmalloc-8: Redzone Active@...90f6d20 slab 0xc528c530 offset=3360 flags=0x400000c3 inuse=61 freelist=0xc90f6d58
> + Bytes b4 0xc90f6d10: 00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
> + Object 0xc90f6d20: 31 30 31 39 2e 30 30 35 1019.005
> + Redzone 0xc90f6d28: 00 cc cc cc .
> +FreePointer 0xc90f6d2c -> 0xc90f6d58
> +Last alloc: get_modalias+0x61/0xf5 jiffies_ago=53 cpu=1 pid=554
> +Filler 0xc90f6d50: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ
when constructing debug output it's a good idea to make it as
'context-free' as possible. I.e. instead of saying 'Filler' and
explaining it somewhere in Documentation/*, just say:
Expected memory values at 0xc90f6d50: 5a 5a 5a 5a 5a 5a 5a 5a
... but found the following values: 12 34 56 78 90 12 34 56
(or whatever it means)
please also put in one of the keywords as the first word of whatever
SLUB prints:
BUG: ...
WARNING: ...
INFO: ...
the output should be compact, but never at the price of
understandability. For example i tried to make lockdep output as
self-explanatory as possible - and a good portion of lockdep.c is about
having around the kind of information to make the error more
understandable (tracking lock-acquire stacktraces, tracking
initialization points, tracking initialization-time symbol names, etc.),
and there's even quite some algorithmic complexity from that. I probably
spent more time on making lockdep output easier to decode than on any
other sub-feature of lockdep. The output format literally went over
hundreds of revisions. Output to humans is _the_ most important thing
that a debug facility can do, sometimes more important than the
debugging it offers ;-) And even the existing lockdep output sometimes
confuses people.
Ingo
-
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