[PATCH 0/1] mm/migrate: do not call prep_transhuge_page if !thp_migration_supported

From: Andrea Reale
Date: Mon Nov 20 2017 - 11:17:57 EST


Hi all,

While working on a second round of patches to introduce memory hotplug /
hot remove to arm64 (original attempt at [1]), and trying to rebase them
on 4.14, I stumbled in some problematic behaviour during page migration
when offlining for hot remove, whereas target pages for migration where
found in a bad state.

I believe that this behaviour may be originating from commit 8135d8926c08
("mm: memory_hotplug: memory hotremove supports thp migration")
and it is triggered when migrating pages for builds that have no
ARCH_ENABLE_THP_MIGRATION but have thp support on (arm64, in my case).
Specifically, my understanding is that prep_transhuge_page should not be
called in linux/migrate.h:new_page_nodemask if !thp_migration_supported
because, in that case, new_page would not be a thp.

A tiny patch follows, showing what I mean. Please, let me know if my
understanding is bogus.

Best regards,
Andrea

[1] https://lkml.org/lkml/2017/4/11/536

Andrea Reale (1):
mm/migrate: do not call prep_transhuge_page if
!thp_migration_supported

include/linux/migrate.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--
2.7.4