drm/amdgpu: always allocate cleared VRAM for GEM allocations
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 26 Mar 2024 15:28:29 +0000 (11:28 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 29 Aug 2024 18:56:37 +0000 (14:56 -0400)
This adds allocation latency, but aligns better with user
expectations.  The latency should improve with the drm buddy
clearing patches that Arun has been working on.

In addition this fixes the high CPU spikes seen when doing
wipe on release.

v2: always set AMDGPU_GEM_CREATE_VRAM_CLEARED (Christian)

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3528
Fixes: a68c7eaa7a8f ("drm/amdgpu: Enable clear page functionality")
Acked-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> (v1)
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Cc: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c

index aad2027e5c7cb289cbfda6f64781836ccb8d1a74..0e617dff8765e28469419720b0ea767c51c31457 100644 (file)
@@ -348,6 +348,9 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,
                return -EINVAL;
        }
 
+       /* always clear VRAM */
+       flags |= AMDGPU_GEM_CREATE_VRAM_CLEARED;
+
        /* create a gem object to contain this object in */
        if (args->in.domains & (AMDGPU_GEM_DOMAIN_GDS |
            AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA)) {