Commit dc32f634 authored by Joonsoo Kim's avatar Joonsoo Kim Committed by Linus Torvalds

mm: fix wrong argument of migrate_huge_pages() in soft_offline_huge_page()

Commit a6bc32b8 ("mm: compaction: introduce sync-light migration for
use by compaction") changed the declaration of migrate_pages() and
migrate_huge_pages().

But it missed changing the argument of migrate_huge_pages() in
soft_offline_huge_page().  In this case, we should call
migrate_huge_pages() with MIGRATE_SYNC.

Additionally, there is a mismatch between type the of argument and the
function declaration for migrate_pages().
Signed-off-by: default avatarJoonsoo Kim <js1304@gmail.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Mel Gorman <mgorman@suse.de>
Acked-by: default avatarDavid Rientjes <rientjes@google.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a410963b
...@@ -1433,8 +1433,8 @@ static int soft_offline_huge_page(struct page *page, int flags) ...@@ -1433,8 +1433,8 @@ static int soft_offline_huge_page(struct page *page, int flags)
/* Keep page count to indicate a given hugepage is isolated. */ /* Keep page count to indicate a given hugepage is isolated. */
list_add(&hpage->lru, &pagelist); list_add(&hpage->lru, &pagelist);
ret = migrate_huge_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0, ret = migrate_huge_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, false,
true); MIGRATE_SYNC);
if (ret) { if (ret) {
struct page *page1, *page2; struct page *page1, *page2;
list_for_each_entry_safe(page1, page2, &pagelist, lru) list_for_each_entry_safe(page1, page2, &pagelist, lru)
...@@ -1563,7 +1563,7 @@ int soft_offline_page(struct page *page, int flags) ...@@ -1563,7 +1563,7 @@ int soft_offline_page(struct page *page, int flags)
page_is_file_cache(page)); page_is_file_cache(page));
list_add(&page->lru, &pagelist); list_add(&page->lru, &pagelist);
ret = migrate_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, ret = migrate_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL,
0, MIGRATE_SYNC); false, MIGRATE_SYNC);
if (ret) { if (ret) {
putback_lru_pages(&pagelist); putback_lru_pages(&pagelist);
pr_info("soft offline: %#lx: migration failed %d, type %lx\n", pr_info("soft offline: %#lx: migration failed %d, type %lx\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment