[NEW]: Introducing shrink_all_memory from user space

PINTU KUMAR pintu_agarwal at yahoo.com
Thu Apr 19 09:42:21 EDT 2012


>________________________________
>From: Alan Cox <alan at lxorguk.ukuu.org.uk>
>To: richard -rw- weinberger <richard.weinberger at gmail.com>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 at gmail.com> wrote:
>
>> On Sun, Apr 15, 2012 at 1:47 PM, PINTU KUMAR <pintu_agarwal at yahoo.com> 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



More information about the linux-arm-kernel mailing list