Commit a5ed1771a448d77d53735df64c53ef0532c15419

Con Kolivas 2013-10-08T22:23:51

Revert "Further smooth out avalon hashrate by limiting the maximum number of nonces counted each cycle to 1 per miner, saving them for later cycles." This reverts commit 7be59992c121a61e56402cec21508e39401fad6c. Of dubious utility since a full nonce range is not scanned before loading more work.

diff --git a/driver-avalon.c b/driver-avalon.c
index 2a5ec3c..6abdaeb 100644
--- a/driver-avalon.c
+++ b/driver-avalon.c
@@ -1433,9 +1433,9 @@ static int64_t avalon_scanhash(struct thr_info *thr)
 {
 	struct cgpu_info *avalon = thr->cgpu;
 	struct avalon_info *info = avalon->device_data;
-	int64_t hash_count, us_timeout, nonce_count;
 	const int miner_count = info->miner_count;
 	struct timeval now, then, tdiff;
+	int64_t hash_count, us_timeout;
 	struct timespec abstime;
 
 	/* Half nonce range */
@@ -1452,20 +1452,13 @@ static int64_t avalon_scanhash(struct thr_info *thr)
 	mutex_unlock(&info->qlock);
 
 	mutex_lock(&info->lock);
-	/* Smooths out hashrate shown by limiting number of nonces counted in
-	 * one lucky cycle, saving some for later less lucky cycles. */
-	if (info->nonces > miner_count)
-		nonce_count = miner_count;
-	else
-		nonce_count = info->nonces;
-	hash_count = 0xffffffffll * nonce_count;
+	hash_count = 0xffffffffull * (uint64_t)info->nonces;
 	avalon->results += info->nonces + info->idle;
 	if (avalon->results > miner_count)
 		avalon->results = miner_count;
 	if (!info->reset)
 		avalon->results--;
-	info->nonces -= nonce_count;
-	info->idle = 0;
+	info->nonces = info->idle = 0;
 	mutex_unlock(&info->lock);
 
 	/* Check for nothing but consecutive bad results or consistently less