Skip to content
Commit 07e16b03 authored by Alexandru Elisei's avatar Alexandru Elisei
Browse files

sched: mm: Introduce PF_MEMALLOC_ISOLATE

On arm64, when reserving tag storage for an allocated page, if the tag
storage is in use, the tag storage must be migrated before it can be
reserved.

When doing compaction, the target page for migration can require to have
the metadata storage reserved, which leads to those metadata pages being
isolated for migration. In rare circumstances, the extra pages being
isolated when reserving metadata storage can cross the threshold for
too_many_isolated(), leading to an infinite loop in
isolate_migratepages_pageblock().

Add the current flag PF_MEMALLOC_ISOLATE, which makes
too_many_isolated() ignore the threshold and always false to make
forward progress in isolate_migratepages_pageblock().

For consistency, the similarly named function too_many_isolated() called
during reclaim has received the same treatment.
parent 6b40f3ef
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment