Commit 7e55a41209a115da4f2235b7683387e282c1401a

Con Kolivas 2012-07-29T20:17:15

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

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/driver-opencl.c b/driver-opencl.c
index b22017c..0bfd805 100644
--- a/driver-opencl.c
+++ b/driver-opencl.c
@@ -1510,7 +1510,7 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work,
 				if (gpu->intensity > MIN_INTENSITY)
 					--gpu->intensity;
 				else
-					nmsleep(opt_dynamic_interval / 2 ? : 1);
+					nmsleep(gpu->gpu_us_average - dynamic_us);
 			} else if (gpu->gpu_us_average < dynamic_us / 2) {
 				if (gpu->intensity < MAX_INTENSITY)
 					++gpu->intensity;