aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKemeng Shi <[email protected]>2023-08-04 19:04:54 +0800
committerAndrew Morton <[email protected]>2023-08-21 13:37:43 -0700
commit18c59d58baa60a8bfaec58d29b6b94877664eed8 (patch)
tree74848e9ea10a18389e387be516964d1fd66c8a70
parentf82024cbfa3a410d947b588658949a8a391da8a7 (diff)
mm/compaction: only set skip flag if cc->no_set_skip_hint is false
Keep the same logic as update_pageblock_skip, only set skip if no_set_skip_hint is false which is more reasonable. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Kemeng Shi <[email protected]> Reviewed-by: David Hildenbrand <[email protected]> Cc: Baolin Wang <[email protected]> Cc: Mel Gorman <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
-rw-r--r--mm/compaction.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/compaction.c b/mm/compaction.c
index 91a9dfa41ef4..fe7b4e7c5d24 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1442,7 +1442,7 @@ fast_isolate_around(struct compact_control *cc, unsigned long pfn)
isolate_freepages_block(cc, &start_pfn, end_pfn, &cc->freepages, 1, false);
/* Skip this pageblock in the future as it's full or nearly full */
- if (start_pfn == end_pfn)
+ if (start_pfn == end_pfn && !cc->no_set_skip_hint)
set_pageblock_skip(page);
}