mm: Don't put CMA pages on per cpu lists
CMA allocations rely on being able to migrate pages out quickly to fulfill the allocations. Most use cases for movable allocations meet this requirement. File system allocations may take an unaccpetably long time to migrate, which creates delays from CMA. Prevent CMA pages from ending up on the per-cpu lists to avoid code paths grabbing CMA pages on the fast path. CMA pages can still be allocated as a fallback under tight memory pressure. CRs-Fixed: 452508 Change-Id: I79a28f697275a2a1870caabae53c8ea345b4b47d Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
This commit is contained in:
parent
e48a20a27c
commit
81f6201534
1 changed files with 2 additions and 1 deletions
|
@ -2061,7 +2061,8 @@ void free_hot_cold_page(struct page *page, bool cold)
|
|||
* excessively into the page allocator
|
||||
*/
|
||||
if (migratetype >= MIGRATE_PCPTYPES) {
|
||||
if (unlikely(is_migrate_isolate(migratetype))) {
|
||||
if (unlikely(is_migrate_isolate(migratetype)) ||
|
||||
is_migrate_cma(migratetype)) {
|
||||
free_one_page(zone, page, pfn, 0, migratetype);
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue