Thread (1 message) 1 message, 1 author, 2016-06-02

Re: [PATCH v7 00/12] Support non-lru page migration

From: Minchan Kim <minchan@kernel.org>
Date: 2016-06-02 00:36:27

On Wed, Jun 01, 2016 at 02:41:51PM -0700, Andrew Morton wrote:
On Wed,  1 Jun 2016 08:21:09 +0900 Minchan Kim [off-list ref] wrote:
quoted
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.
But this isn't presently implemented for GPU drivers or for CMA, yes?
For GPU driver, Gioh implemented but it was proprietary so couldn't
contribute.

For CMA, [zram: use __GFP_MOVABLE for memory allocation] added __GFP_MOVABLE
for zsmalloc page allocation so it can use CMA area automatically now.
What's the story there?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help