On Wed, 27 Apr 2016 16:48:13 +0900 Minchan Kim minchan@kernel.org wrote:
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail.
The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot work well so reclaimer shrinks all of working set pages. It made system very slow and even to fail to fork easily which requires order-[2 or 3] allocations.
Other pain point is that they cannot use CMA memory space so when OOM kill happens, I can see many free pages in CMA area, which is not memory efficient. In our product which has big CMA memory, it reclaims zones too exccessively to allocate GPU and zram page although there are lots of free space in CMA so system becomes very slow easily.
To solve these problem, this patch tries to add facility to migrate non-lru pages via introducing new functions and page flags to help migration.
I'm seeing some rejects here against Mel's changes and our patch bandwidth is getting waaay way ahead of our review bandwidth. So I think I'll loadshed this patchset at this time, sorry.