Browse Source

Sleep only the extra amount of time we overran the dynamic interval in dynamic mode.

Con Kolivas 13 years ago
parent
commit
7e55a41209
1 changed files with 1 additions and 1 deletions
  1. 1 1
      driver-opencl.c

+ 1 - 1
driver-opencl.c

@@ -1510,7 +1510,7 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work,
 				if (gpu->intensity > MIN_INTENSITY)
 				if (gpu->intensity > MIN_INTENSITY)
 					--gpu->intensity;
 					--gpu->intensity;
 				else
 				else
-					nmsleep(opt_dynamic_interval / 2 ? : 1);
+					nmsleep(gpu->gpu_us_average - dynamic_us);
 			} else if (gpu->gpu_us_average < dynamic_us / 2) {
 			} else if (gpu->gpu_us_average < dynamic_us / 2) {
 				if (gpu->intensity < MAX_INTENSITY)
 				if (gpu->intensity < MAX_INTENSITY)
 					++gpu->intensity;
 					++gpu->intensity;