commit | d20bdd571ee5c9966191568527ecdb1bd4b52368 | [log] [tgz] |
---|---|---|
author | Zi Yan <[email protected]> | Fri Nov 13 22:51:43 2020 -0800 |
committer | Linus Torvalds <[email protected]> | Sat Nov 14 11:26:03 2020 -0800 |
tree | d34960496812c3fee82d7fd56136ebe5638ac5a6 | |
parent | 38935861d85a4d9a353d1dd5a156c97700e2765d [diff] |
mm/compaction: stop isolation if too many pages are isolated and we have pages to migrate In isolate_migratepages_block, if we have too many isolated pages and nr_migratepages is not zero, we should try to migrate what we have without wasting time on isolating. In theory it's possible that multiple parallel compactions will cause too_many_isolated() to become true even if each has isolated less than COMPACT_CLUSTER_MAX, and loop forever in the while loop. Bailing immediately prevents that. [[email protected]: changelog addition] Fixes: 1da2f328fa64 (“mm,thp,compaction,cma: allow THP migration for CMA allocations”) Suggested-by: Vlastimil Babka <[email protected]> Signed-off-by: Zi Yan <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Cc: <[email protected]> Cc: Mel Gorman <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Rik van Riel <[email protected]> Cc: Yang Shi <[email protected]> Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Linus Torvalds <[email protected]>