]> Gentwo Git Trees - linux/.git/commitdiff
drm/amdgpu: use GFP_ATOMIC instead of NOWAIT in the critical path
authorChristian König <christian.koenig@amd.com>
Tue, 28 Oct 2025 10:16:12 +0000 (11:16 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Nov 2025 16:27:56 +0000 (11:27 -0500)
Otherwise job submissions can fail with ENOMEM.

We probably need to re-design the per VMID tracking at some point.

Signed-off-by: Christian König <christian.koenig@amd.com>
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4258
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c

index b2af2cc6826c440cd42eb4c3ade43d0fb46679cf..9cab36322c165826dbd60cf20fcb687b1ab471c7 100644 (file)
@@ -289,7 +289,7 @@ static int amdgpu_vmid_grab_reserved(struct amdgpu_vm *vm,
        * user of the VMID.
        */
        r = amdgpu_sync_fence(&(*id)->active, &job->base.s_fence->finished,
-                             GFP_NOWAIT);
+                             GFP_ATOMIC);
        if (r)
                return r;
 
@@ -349,7 +349,7 @@ static int amdgpu_vmid_grab_used(struct amdgpu_vm *vm,
                 */
                r = amdgpu_sync_fence(&(*id)->active,
                                      &job->base.s_fence->finished,
-                                     GFP_NOWAIT);
+                                     GFP_ATOMIC);
                if (r)
                        return r;
 
@@ -402,7 +402,7 @@ int amdgpu_vmid_grab(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
                        /* Remember this submission as user of the VMID */
                        r = amdgpu_sync_fence(&id->active,
                                              &job->base.s_fence->finished,
-                                             GFP_NOWAIT);
+                                             GFP_ATOMIC);
                        if (r)
                                goto error;