Re: [PATCH v2 25/25] mm: Align THP mappings for non-DAX

From: Christoph Hellwig
Date: Wed Feb 12 2020 - 02:50:08 EST


> diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> index b52e007f0856..b8d9e0d76062 100644
> --- a/mm/huge_memory.c
> +++ b/mm/huge_memory.c
> @@ -577,13 +577,10 @@ unsigned long thp_get_unmapped_area(struct file *filp, unsigned long addr,
> unsigned long ret;
> loff_t off = (loff_t)pgoff << PAGE_SHIFT;
>
> - if (!IS_DAX(filp->f_mapping->host) || !IS_ENABLED(CONFIG_FS_DAX_PMD))
> - goto out;
> -
> ret = __thp_get_unmapped_area(filp, addr, len, off, flags, PMD_SIZE);
> if (ret)
> return ret;
> -out:
> +
> return current->mm->get_unmapped_area(filp, addr, len, pgoff, flags);
> }
> EXPORT_SYMBOL_GPL(thp_get_unmapped_area);

There is no point in splitting thp_get_unmapped_area and
__thp_get_unmapped_area with this applied (and arguably even before
that). But we still have ext2 and ext4 that use thp_get_unmapped_area but
only support huge page mappings for DAX, do we need to handle those somehow?