[PATCH v5 14/25] rmap: Add support for PUD sized mappings to rmap
David Hildenbrand
david at redhat.com
Tue Jan 7 22:36:52 AEDT 2025
On 07.01.25 04:42, Alistair Popple wrote:
> The rmap doesn't currently support adding a PUD mapping of a
> folio. This patch adds support for entire PUD mappings of folios,
> primarily to allow for more standard refcounting of device DAX
> folios. Currently DAX is the only user of this and it doesn't require
> support for partially mapped PUD-sized folios so we don't support for
> that for now.
>
> Signed-off-by: Alistair Popple <apopple at nvidia.com>
>
> ---
>
> Changes for v5:
> - Fixed accounting as suggested by David.
>
> Changes for v4:
>
> - New for v4, split out rmap changes as suggested by David.
> ---
> include/linux/rmap.h | 15 ++++++++++-
> mm/rmap.c | 65 ++++++++++++++++++++++++++++++++++++++++++---
> 2 files changed, 76 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/rmap.h b/include/linux/rmap.h
> index 683a040..7043914 100644
> --- a/include/linux/rmap.h
> +++ b/include/linux/rmap.h
> @@ -192,6 +192,7 @@ typedef int __bitwise rmap_t;
> enum rmap_level {
> RMAP_LEVEL_PTE = 0,
> RMAP_LEVEL_PMD,
> + RMAP_LEVEL_PUD,
> };
>
> static inline void __folio_rmap_sanity_checks(const struct folio *folio,
> @@ -228,6 +229,14 @@ static inline void __folio_rmap_sanity_checks(const struct folio *folio,
> VM_WARN_ON_FOLIO(folio_nr_pages(folio) != HPAGE_PMD_NR, folio);
> VM_WARN_ON_FOLIO(nr_pages != HPAGE_PMD_NR, folio);
> break;
> + case RMAP_LEVEL_PUD:
> + /*
> + * Assume that we are creating * a single "entire" mapping of the
> + * folio.
Misplaced " *", can likely be fixed up when applying.
Apart from that LGTM
Acked-by: David Hildenbrand <david at redhat.com>
--
Cheers,
David / dhildenb
More information about the Linuxppc-dev
mailing list