Commit 9d502c1c8d47b337c378c2ac8eaeee7918ad16b1

Authored by Minchan Kim
Committed by Linus Torvalds
1 parent d527caf22e

mm/compaction: check migrate_pages's return value instead of list_empty()

Many migrate_page's caller check return value instead of list_empy by
cf608ac19c ("mm: compaction: fix COMPACTPAGEFAILED counting").  This patch
makes compaction's migrate_pages consistent with others.  This patch
should not change old behavior.

Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Christoph Lameter <cl@linux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 3 additions and 2 deletions Side-by-side Diff

... ... @@ -494,12 +494,13 @@
494 494  
495 495 while ((ret = compact_finished(zone, cc)) == COMPACT_CONTINUE) {
496 496 unsigned long nr_migrate, nr_remaining;
  497 + int err;
497 498  
498 499 if (!isolate_migratepages(zone, cc))
499 500 continue;
500 501  
501 502 nr_migrate = cc->nr_migratepages;
502   - migrate_pages(&cc->migratepages, compaction_alloc,
  503 + err = migrate_pages(&cc->migratepages, compaction_alloc,
503 504 (unsigned long)cc, false,
504 505 cc->sync);
505 506 update_nr_listpages(cc);
... ... @@ -513,7 +514,7 @@
513 514 nr_remaining);
514 515  
515 516 /* Release LRU pages not migrated */
516   - if (!list_empty(&cc->migratepages)) {
  517 + if (err) {
517 518 putback_lru_pages(&cc->migratepages);
518 519 cc->nr_migratepages = 0;
519 520 }