lkml.org 
[lkml]   [2014]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 5/6] mm: compaction: do not set pageblock skip bit when already set
Date
Compaction migratepages scanner calls update_pageblock_skip() for blocks where
isolation failed. It currently does that also for blocks where no isolation
was attempted because the skip bit was already set. This is wasteful, so this
patch reuses the existing skipped_async_unsuitable flag to avoid setting the
skip bit again.

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
---
mm/compaction.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mm/compaction.c b/mm/compaction.c
index f0db73b..20a75ee 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -529,8 +529,10 @@ isolate_migratepages_range(struct zone *zone, struct compact_control *cc,
int mt;

last_pageblock_nr = pageblock_nr;
- if (!isolation_suitable(cc, page))
+ if (!isolation_suitable(cc, page)) {
+ skipped_async_unsuitable = true;
goto next_pageblock;
+ }

/*
* For async migration, also only scan in MOVABLE
--
1.8.4.5


\
 
 \ /
  Last update: 2014-02-28 16:01    [W:0.129 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site