Re: [PATCH 4/7] mm/hmm: properly handle migration pmd

From: Jerome Glisse
Date: Tue Aug 28 2018 - 11:37:05 EST


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