mm: fix wrong argument of migrate_huge_pages() in soft_offline_huge_page()
Commit a6bc32b899
("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: Joonsoo Kim <js1304@gmail.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Mel Gorman <mgorman@suse.de>
Acked-by: David Rientjes <rientjes@google.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
a410963ba4
commit
dc32f63453
@@ -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)
|
|||||||
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",
|
||||||
|
Reference in New Issue
Block a user