Skip to content

Commit 6bf5d4e

Browse files
author
Herton R. Krzesinski
committed
Merge: Revert "mm/compaction: fix set skip in fast_find_migrateblock"
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/1996 Revert "mm/compaction: fix set skip in fast_find_migrateblock" This reverts commit 7efc3b7. We have got openSUSE reports (Link 1) for 6.1 kernel with khugepaged stalling CPU for long periods of time. Investigation of tracepoint data shows that compaction is stuck in repeating fast_find_migrateblock() based migrate page isolation, and then fails to migrate all isolated pages. Commit 7efc3b7 ("mm/compaction: fix set skip in fast_find_migrateblock") was suspected as it was merged in 6.1 and in theory can indeed remove a termination condition for fast_find_migrateblock() under certain conditions, as it removes a place that always marks a scanned pageblock from being re-scanned. There are other such places, but those can be skipped under certain conditions, which seems to match the tracepoint data. Testing of revert also appears to have resolved the issue, thus revert the commit until a more robust solution for the original problem is developed. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2166447 Signed-off-by: Nico Pache <npache@redhat.com> Approved-by: Waiman Long <longman@redhat.com> Approved-by: Rafael Aquini <aquini@redhat.com> Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
2 parents ca0a27f + 251ce5e commit 6bf5d4e

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

mm/compaction.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1862,6 +1862,7 @@ static unsigned long fast_find_migrateblock(struct compact_control *cc)
18621862
pfn = cc->zone->zone_start_pfn;
18631863
cc->fast_search_fail = 0;
18641864
found_block = true;
1865+
set_pageblock_skip(freepage);
18651866
break;
18661867
}
18671868
}

0 commit comments

Comments
 (0)