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

From: Li Zefan
Date: Wed Mar 26 2014 - 22:31:52 EST


(Just came back from travelling)

On 2014/3/22 7:37, Catalin Marinas wrote:
> 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'm not sure if I understand correctly, so you want the "off" handler to
stop the scan thread but it will never free kmemleak objects until the
user explicitly trigger the "clear" action, right?

> 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.
>

--
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/