Re: [NEW]: Introducing shrink_all_memory from user space

From: PINTU KUMAR
Date: Thu Apr 19 2012 - 09:48:37 EST



>________________________________
>From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
>To: richard -rw- weinberger <richard.weinberger@xxxxxxxxx> 
>Sent: Thursday, 19 April 2012 1:40 AM
>Subject: Re: [NEW]: Introducing shrink_all_memory from user space
>
>On Sun, 15 Apr 2012 14:10:00 +0200
>richard -rw- weinberger <richard.weinberger@xxxxxxxxx> wrote:
>
>> On Sun, Apr 15, 2012 at 1:47 PM, PINTU KUMAR <pintu_agarwal@xxxxxxxxx> wrote:
>> > Moreover, this is mainly meant for mobile phones where there is only *one* user.
>>
>> I see. Jet another awful hack.
>> Mobile phones are nothing special. They are computers
>
>Correct - so if it is showing up useful situations then they are also
>useful beyond mobile phone.
>
>> Every program which is allowed to use this interface will (ab)use it.
>
>If you expose it to userspace then you would want it very tightly
>controlled and very much special case. Within the kernel using it
>internally within things like CMA allocators seems to make more sense.
>
>I think you overestimate the abuse. It's an interface which pushes clean
>pages that can be cheaply recovered out of memory. It doesn't guarantee
>the caller reaps the benefit of that, and the vm will continue to try and
>share out any new resource fairly.
>
>Alan

Dear Alan, thank you very much for your comments and suggestion.
My plan is to develop a kind of system utility (like defragment) which we can run from user space (as root).
 
And yes you are right, my future plan is also to use it for CMA as it also suffers from memory fragmentation.
Now I think CMA uses memory compaction solution to reclaim pages for its allocation. Similarly we can use this on top of compaction for better results.
 
And we can even call this from low memory notifier whenever memory pressure falls below watermark and regain memory state as it was before.
 
Well more experiments and findings are in progress.
 
 
 
Thanks,
Pintu
--
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/