[RFC PATCH 03/10] mm/compaction: always update cached pfn

From: Joonsoo Kim
Date: Wed Jun 24 2015 - 20:45:08 EST


Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
---
mm/compaction.c | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/mm/compaction.c b/mm/compaction.c
index 9c5d43c..2d8e211 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -510,6 +510,10 @@ isolate_fail:
if (locked)
spin_unlock_irqrestore(&cc->zone->lock, flags);

+ if (blockpfn == end_pfn &&
+ blockpfn > cc->zone->compact_cached_free_pfn)
+ cc->zone->compact_cached_free_pfn = blockpfn;
+
update_pageblock_skip(cc, valid_page, total_isolated,
*start_pfn, end_pfn, blockpfn, false);

@@ -811,6 +815,13 @@ isolate_success:
if (locked)
spin_unlock_irqrestore(&zone->lru_lock, flags);

+ if (low_pfn == end_pfn && cc->mode != MIGRATE_ASYNC) {
+ int sync = cc->mode != MIGRATE_ASYNC;
+
+ if (low_pfn > zone->compact_cached_migrate_pfn[sync])
+ zone->compact_cached_migrate_pfn[sync] = low_pfn;
+ }
+
update_pageblock_skip(cc, valid_page, nr_isolated,
start_pfn, end_pfn, low_pfn, true);

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/