Re: [PATCH v2 1/3] kmemleak: allow freeing internal objects after kmemleak was disabled

From: Catalin Marinas
Date: Fri Mar 21 2014 - 19:37:38 EST


Hi Li,

On 17 Mar 2014, at 04:07, Li Zefan <lizefan@xxxxxxxxxx> wrote:
> 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, internal objects will be freed immediately if kmemleak is
> disabled explicitly by a user. If it's disabled due to a kmemleak error,
> The user will be informed, and then he/she can reclaim memory with:
>
> # echo off > /sys/kernel/debug/kmemleak
>
> v2: use "off" handler instead of "clear" handler to do this, suggested
> by Catalin.

I think there was a slight misunderstanding. My point was about "echo
scan=off” before “echo off”, they can just be squashed into the
same action of the latter.

I would keep the “clear” part separately as per your first patch. I
recall people asked in the past to still be able to analyse the reports
even though kmemleak failed or was disabled.

Thanks,

Catalin--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/