]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/msm: Don't close VMAs on purge
authorRob Clark <robdclark@chromium.org>
Sun, 29 Jun 2025 20:12:53 +0000 (13:12 -0700)
committerRob Clark <robin.clark@oss.qualcomm.com>
Fri, 4 Jul 2025 18:09:44 +0000 (11:09 -0700)
Previously we'd also tear down the VMA, making the address space
available again.  But with drm_gpuvm conversion, this would require
holding the locks of all VMs the GEM object is mapped in.  Which is
problematic for the shrinker.

Instead just let the VMA hang around until the GEM object is freed.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Tested-by: Antonino Maniscalco <antomani103@gmail.com>
Reviewed-by: Antonino Maniscalco <antomani103@gmail.com>
Patchwork: https://patchwork.freedesktop.org/patch/661472/

drivers/gpu/drm/msm/msm_gem.c

index 7b043062883466472499cf9e11736e50055df430..a20ae783f2442684041a818fbf4889fdbb87d852 100644 (file)
@@ -755,7 +755,7 @@ void msm_gem_purge(struct drm_gem_object *obj)
        GEM_WARN_ON(!is_purgeable(msm_obj));
 
        /* Get rid of any iommu mapping(s): */
-       put_iova_spaces(obj, true);
+       put_iova_spaces(obj, false);
 
        msm_gem_vunmap(obj);