[PATCH v2 03/17] mm/rmap: convert make_device_exclusive_range() to make_device_exclusive()
Andrew Morton
akpm at linux-foundation.org
Tue Feb 11 05:00:01 UTC 2025
On Mon, 10 Feb 2025 20:37:45 +0100 David Hildenbrand <david at redhat.com> wrote:
> The single "real" user in the tree of make_device_exclusive_range() always
> requests making only a single address exclusive. The current implementation
> is hard to fix for properly supporting anonymous THP / large folios and
> for avoiding messing with rmap walks in weird ways.
>
> So let's always process a single address/page and return folio + page to
> minimize page -> folio lookups. This is a preparation for further
> changes.
>
> Reject any non-anonymous or hugetlb folios early, directly after GUP.
>
> While at it, extend the documentation of make_device_exclusive() to
> clarify some things.
x86_64 allmodconfig:
drivers/gpu/drm/nouveau/nouveau_svm.c: In function 'nouveau_atomic_range_fault':
drivers/gpu/drm/nouveau/nouveau_svm.c:612:68: error: 'folio' undeclared (first use in this function)
612 | page = make_device_exclusive(mm, start, drm->dev, &folio);
| ^~~~~
drivers/gpu/drm/nouveau/nouveau_svm.c:612:68: note: each undeclared identifier is reported only once for each function it appears in
More information about the dri-devel
mailing list