فهرست منبع

drm/amdgpu: Fix use of interruptible waiting

1. The signal interrupt can affect the expected behaviour.
2. There is no good mechanism to handle the corresponding error.
When signal interrupt happens, unpin is not called.
As a result, inside AMDGPU, the statistic of pin size will be wrong.

Signed-off-by: Alex Xie <AlexBin.Xie@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Alex Xie 8 سال پیش
والد
کامیت
4a9ed1009b
1فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 2 2
      drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c

+ 2 - 2
drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c

@@ -123,7 +123,7 @@ out_cleanup:
 	}
 	}
 
 
 	if (sobj) {
 	if (sobj) {
-		r = amdgpu_bo_reserve(sobj, false);
+		r = amdgpu_bo_reserve(sobj, true);
 		if (likely(r == 0)) {
 		if (likely(r == 0)) {
 			amdgpu_bo_unpin(sobj);
 			amdgpu_bo_unpin(sobj);
 			amdgpu_bo_unreserve(sobj);
 			amdgpu_bo_unreserve(sobj);
@@ -131,7 +131,7 @@ out_cleanup:
 		amdgpu_bo_unref(&sobj);
 		amdgpu_bo_unref(&sobj);
 	}
 	}
 	if (dobj) {
 	if (dobj) {
-		r = amdgpu_bo_reserve(dobj, false);
+		r = amdgpu_bo_reserve(dobj, true);
 		if (likely(r == 0)) {
 		if (likely(r == 0)) {
 			amdgpu_bo_unpin(dobj);
 			amdgpu_bo_unpin(dobj);
 			amdgpu_bo_unreserve(dobj);
 			amdgpu_bo_unreserve(dobj);