On Tue, Aug 28, 2018 at 05:24:14PM +0200, Michal Hocko wrote: > On Fri 24-08-18 20:05:46, Zi Yan wrote: > [...] > > > + if (!pmd_present(pmd)) { > > > + swp_entry_t entry = pmd_to_swp_entry(pmd); > > > + > > > + if (is_migration_entry(entry)) { > > > > I think you should check thp_migration_supported() here, since PMD migration is only enabled in x86_64 systems. > > Other architectures should treat PMD migration entries as bad. > > How can we have a migration pmd entry when the migration is not > supported? Not sure i follow here, migration can happen anywhere (assuming that something like compaction is active or numa or ...). So this code can face pmd migration entry on architecture that support it. What is missing here is thp_migration_supported() call to protect the is_migration_entry() to avoid false positive on arch which do not support thp migration. Cheers, Jérôme