diff options
Diffstat (limited to 'mm/compaction.c')
-rw-r--r-- | mm/compaction.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/mm/compaction.c b/mm/compaction.c index 927de97cab8d..f4e2c166880b 100644 --- a/mm/compaction.c +++ b/mm/compaction.c | |||
@@ -947,6 +947,14 @@ static int compact_zone(struct zone *zone, struct compact_control *cc) | |||
947 | } | 947 | } |
948 | 948 | ||
949 | /* | 949 | /* |
950 | * Clear pageblock skip if there were failures recently and compaction | ||
951 | * is about to be retried after being deferred. kswapd does not do | ||
952 | * this reset as it'll reset the cached information when going to sleep. | ||
953 | */ | ||
954 | if (compaction_restarting(zone, cc->order) && !current_is_kswapd()) | ||
955 | __reset_isolation_suitable(zone); | ||
956 | |||
957 | /* | ||
950 | * Setup to move all movable pages to the end of the zone. Used cached | 958 | * Setup to move all movable pages to the end of the zone. Used cached |
951 | * information on where the scanners should start but check that it | 959 | * information on where the scanners should start but check that it |
952 | * is initialised by ensuring the values are within zone boundaries. | 960 | * is initialised by ensuring the values are within zone boundaries. |
@@ -962,14 +970,6 @@ static int compact_zone(struct zone *zone, struct compact_control *cc) | |||
962 | zone->compact_cached_migrate_pfn = cc->migrate_pfn; | 970 | zone->compact_cached_migrate_pfn = cc->migrate_pfn; |
963 | } | 971 | } |
964 | 972 | ||
965 | /* | ||
966 | * Clear pageblock skip if there were failures recently and compaction | ||
967 | * is about to be retried after being deferred. kswapd does not do | ||
968 | * this reset as it'll reset the cached information when going to sleep. | ||
969 | */ | ||
970 | if (compaction_restarting(zone, cc->order) && !current_is_kswapd()) | ||
971 | __reset_isolation_suitable(zone); | ||
972 | |||
973 | trace_mm_compaction_begin(start_pfn, cc->migrate_pfn, cc->free_pfn, end_pfn); | 973 | trace_mm_compaction_begin(start_pfn, cc->migrate_pfn, cc->free_pfn, end_pfn); |
974 | 974 | ||
975 | migrate_prep_local(); | 975 | migrate_prep_local(); |