OSDN Git Service

drm/amdgpu: bypass lru touch for KIQ ring submission
authorPixel Ding <Pixel.Ding@amd.com>
Wed, 8 Nov 2017 02:20:01 +0000 (10:20 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 8 Nov 2017 22:55:14 +0000 (17:55 -0500)
KIQ ring submission is used for register accessing on SRIOV
VF that could happen both in irq enabled and irq disabled cases.
Inversion lock could happen on adev->ring_lru_list_lock, while
this operation is useless and just adds overhead in this use
case.

Signed-off-by: Pixel Ding <Pixel.Ding@amd.com>
Reviewed-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c

index e5ece1f..a98fbbb 100644 (file)
@@ -136,7 +136,8 @@ void amdgpu_ring_commit(struct amdgpu_ring *ring)
        if (ring->funcs->end_use)
                ring->funcs->end_use(ring);
 
-       amdgpu_ring_lru_touch(ring->adev, ring);
+       if (ring->funcs->type != AMDGPU_RING_TYPE_KIQ)
+               amdgpu_ring_lru_touch(ring->adev, ring);
 }
 
 /**