Commit 4762c984 authored by Wang YanQing's avatar Wang YanQing Committed by Linus Torvalds

Documentation/kmemleak.txt: updates

Update Documentatin/kmemleak.txt to reflect the following changes:

Commit b69ec42b ("Kconfig: clean up the long arch list for the
DEBUG_KMEMLEAK config option") made it so that we can't check supported
architectures by read Kconfig.debug.

Commit 85d3a316 ("kmemleak: use rbtree instead of prio tree")
converted kmemleak to use rbtree instead of prio tree.
Signed-off-by: default avatarWang YanQing <udknight@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 31e14368
...@@ -11,9 +11,7 @@ with the difference that the orphan objects are not freed but only ...@@ -11,9 +11,7 @@ with the difference that the orphan objects are not freed but only
reported via /sys/kernel/debug/kmemleak. A similar method is used by the reported via /sys/kernel/debug/kmemleak. A similar method is used by the
Valgrind tool (memcheck --leak-check) to detect the memory leaks in Valgrind tool (memcheck --leak-check) to detect the memory leaks in
user-space applications. user-space applications.
Kmemleak is supported on x86, arm, powerpc, sparc, sh, microblaze, ppc, mips, s390, metag and tile.
Please check DEBUG_KMEMLEAK dependencies in lib/Kconfig.debug for supported
architectures.
Usage Usage
----- -----
...@@ -69,7 +67,7 @@ Basic Algorithm ...@@ -69,7 +67,7 @@ Basic Algorithm
The memory allocations via kmalloc, vmalloc, kmem_cache_alloc and The memory allocations via kmalloc, vmalloc, kmem_cache_alloc and
friends are traced and the pointers, together with additional friends are traced and the pointers, together with additional
information like size and stack trace, are stored in a prio search tree. information like size and stack trace, are stored in a rbtree.
The corresponding freeing function calls are tracked and the pointers The corresponding freeing function calls are tracked and the pointers
removed from the kmemleak data structures. removed from the kmemleak data structures.
...@@ -85,7 +83,7 @@ The scanning algorithm steps: ...@@ -85,7 +83,7 @@ The scanning algorithm steps:
1. mark all objects as white (remaining white objects will later be 1. mark all objects as white (remaining white objects will later be
considered orphan) considered orphan)
2. scan the memory starting with the data section and stacks, checking 2. scan the memory starting with the data section and stacks, checking
the values against the addresses stored in the prio search tree. If the values against the addresses stored in the rbtree. If
a pointer to a white object is found, the object is added to the a pointer to a white object is found, the object is added to the
gray list gray list
3. scan the gray objects for matching addresses (some white objects 3. scan the gray objects for matching addresses (some white objects
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment