kmemleak: allow freeing internal objects after kmemleak was disabled
Currently if kmemleak is disabled, the kmemleak objects can never be
freed, no matter if it's disabled by a user or due to fatal errors.
Those objects can be a big waste of memory.
    OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME
  1200264 1197433  99%    0.30K  46164       26    369312K kmemleak_object
With this patch, after kmemleak was disabled you can reclaim memory
with:
	# echo clear > /sys/kernel/debug/kmemleak
Also inform users about this with a printk.
Signed-off-by:  Li Zefan <lizefan@huawei.com>
Acked-by:
Li Zefan <lizefan@huawei.com>
Acked-by:  Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by:  Andrew Morton <akpm@linux-foundation.org>
Signed-off-by:
Andrew Morton <akpm@linux-foundation.org>
Signed-off-by:  Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds <torvalds@linux-foundation.org>
Loading
Please register or sign in to comment
