linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] (CMA_AGGRESSIVE) Make CMA memory be more aggressive about allocation
@ 2014-10-16  3:35 Hui Zhu
  2014-10-16  3:35 ` [PATCH 1/4] (CMA_AGGRESSIVE) Add CMA_AGGRESSIVE to Kconfig Hui Zhu
                   ` (6 more replies)
  0 siblings, 7 replies; 29+ messages in thread
From: Hui Zhu @ 2014-10-16  3:35 UTC (permalink / raw)
  To: rjw, len.brown, pavel, m.szyprowski, akpm, mina86, aneesh.kumar,
	iamjoonsoo.kim, hannes, riel, mgorman, minchan, nasa4836,
	ddstreet, hughd, mingo, rientjes, peterz, keescook, atomlin,
	raistlin, axboe, paulmck, kirill.shutemov, n-horiguchi,
	k.khlebnikov, msalter, deller, tangchen, ben, akinobu.mita,
	lauraa, vbabka, sasha.levin, vdavydov, suleiman
  Cc: linux-kernel, linux-pm, linux-mm, Hui Zhu

In fallbacks of page_alloc.c, MIGRATE_CMA is the fallback of
MIGRATE_MOVABLE.
MIGRATE_MOVABLE will use MIGRATE_CMA when it doesn't have a page in
order that Linux kernel want.

If a system that has a lot of user space program is running, for
instance, an Android board, most of memory is in MIGRATE_MOVABLE and
allocated.  Before function __rmqueue_fallback get memory from
MIGRATE_CMA, the oom_killer will kill a task to release memory when
kernel want get MIGRATE_UNMOVABLE memory because fallbacks of
MIGRATE_UNMOVABLE are MIGRATE_RECLAIMABLE and MIGRATE_MOVABLE.
This status is odd.  The MIGRATE_CMA has a lot free memory but Linux
kernel kill some tasks to release memory.

This patch series adds a new function CMA_AGGRESSIVE to make CMA memory
be more aggressive about allocation.
If function CMA_AGGRESSIVE is available, when Linux kernel call function
__rmqueue try to get pages from MIGRATE_MOVABLE and conditions allow,
MIGRATE_CMA will be allocated as MIGRATE_MOVABLE first.  If MIGRATE_CMA
doesn't have enough pages for allocation, go back to allocate memory from
MIGRATE_MOVABLE.
Then the memory of MIGRATE_MOVABLE can be kept for MIGRATE_UNMOVABLE and
MIGRATE_RECLAIMABLE which doesn't have fallback MIGRATE_CMA.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2014-11-28  3:45 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-16  3:35 [PATCH 0/4] (CMA_AGGRESSIVE) Make CMA memory be more aggressive about allocation Hui Zhu
2014-10-16  3:35 ` [PATCH 1/4] (CMA_AGGRESSIVE) Add CMA_AGGRESSIVE to Kconfig Hui Zhu
2014-10-18 22:15   ` Pavel Machek
     [not found]   ` <201410220126.s9M1Qita026502@spam.xiaomi.com>
2014-10-22  5:44     ` 朱辉
2014-10-16  3:35 ` [PATCH 2/4] (CMA_AGGRESSIVE) Add argument hibernation to function shrink_all_memory Hui Zhu
2014-10-16  8:45   ` Rafael J. Wysocki
2014-10-17  6:18     ` 朱辉
2014-10-17  9:28     ` [PATCH v2 2/4] (CMA_AGGRESSIVE) Add new function shrink_all_memory_for_cma Hui Zhu
2014-10-18  4:50       ` PINTU KUMAR
2014-10-16  3:35 ` [PATCH 3/4] (CMA_AGGRESSIVE) Update reserve custom contiguous area code Hui Zhu
2014-10-17  9:30   ` [PATCH v2 " Hui Zhu
2014-10-16  3:35 ` [PATCH 4/4] (CMA_AGGRESSIVE) Update page alloc function Hui Zhu
2014-10-24  5:28   ` Joonsoo Kim
2014-11-28  3:45     ` Hui Zhu
2014-10-16  5:13 ` [PATCH 0/4] (CMA_AGGRESSIVE) Make CMA memory be more aggressive about allocation Weijie Yang
2014-10-16  8:55 ` Laura Abbott
2014-10-17  7:44   ` 朱辉
2014-10-22 12:01   ` Peter Hurley
2014-10-23  0:40     ` 朱辉
2014-10-29 14:43   ` Vlastimil Babka
2014-11-03  8:46     ` Hui Zhu
2014-11-04  7:53     ` Minchan Kim
2014-11-04  8:59       ` Hui Zhu
2014-11-04  9:29       ` Vlastimil Babka
2014-11-07  7:06         ` Minchan Kim
2014-10-24  5:25 ` Joonsoo Kim
2014-11-03  7:28   ` Hui Zhu
2014-11-03  8:05     ` Joonsoo Kim
2014-11-04  2:31       ` Joonsoo Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).