Re: [PATCH v2] khugepaged: Reduce race probability between migration and khugepaged

From: Oscar Salvador
Date: Thu Jul 03 2025 - 05:41:49 EST


On Thu, Jul 03, 2025 at 11:18:23AM +0530, Dev Jain wrote:
> Suppose a folio is under migration, and khugepaged is also trying to
> collapse it. collapse_pte_mapped_thp() will retrieve the folio from the
> page cache via filemap_lock_folio(), thus taking a reference on the folio
> and sleeping on the folio lock, since the lock is held by the migration
> path. Migration will then fail in
> __folio_migrate_mapping -> folio_ref_freeze. Reduce the probability of
> such a race happening (leading to migration failure) by bailing out
> if we detect a PMD is marked with a migration entry.
>
> This fixes the migration-shared-anon-thp testcase failure on Apple M3.
>
> Note that, this is not a "fix" since it only reduces the chance of
> interference of khugepaged with migration, wherein both the kernel
> functionalities are deemed "best-effort".
>
> Signed-off-by: Dev Jain <dev.jain@xxxxxxx>

David's comment refering to a 'present PMD entry' seems more clear to
me, but

Acked-by: Oscar Salvador <osalvador@xxxxxxx>



--
Oscar Salvador
SUSE Labs