diff options
-rw-r--r-- | mm/compaction.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mm/compaction.c b/mm/compaction.c index 2c8999d027ab..a68230ab451d 100644 --- a/mm/compaction.c +++ b/mm/compaction.c | |||
@@ -1988,6 +1988,14 @@ static void kcompactd_do_work(pg_data_t *pgdat) | |||
1988 | compaction_defer_reset(zone, cc.order, false); | 1988 | compaction_defer_reset(zone, cc.order, false); |
1989 | } else if (status == COMPACT_PARTIAL_SKIPPED || status == COMPACT_COMPLETE) { | 1989 | } else if (status == COMPACT_PARTIAL_SKIPPED || status == COMPACT_COMPLETE) { |
1990 | /* | 1990 | /* |
1991 | * Buddy pages may become stranded on pcps that could | ||
1992 | * otherwise coalesce on the zone's free area for | ||
1993 | * order >= cc.order. This is ratelimited by the | ||
1994 | * upcoming deferral. | ||
1995 | */ | ||
1996 | drain_all_pages(zone); | ||
1997 | |||
1998 | /* | ||
1991 | * We use sync migration mode here, so we defer like | 1999 | * We use sync migration mode here, so we defer like |
1992 | * sync direct compaction does. | 2000 | * sync direct compaction does. |
1993 | */ | 2001 | */ |