1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-02-02 10:04:33 +00:00

Alternatively check staged work count for rolltime capable pools when deciding to queue requests.

This commit is contained in:
Con Kolivas 2012-06-24 23:10:02 +10:00
parent efa9569b66
commit 47f66405c0

View File

@ -3516,7 +3516,7 @@ static time_t requested_tv_sec;
static bool queue_request(struct thr_info *thr, bool needed) static bool queue_request(struct thr_info *thr, bool needed)
{ {
int rq = requests_queued(); int rq = requests_queued(), rs = requests_staged();
struct workio_cmd *wc; struct workio_cmd *wc;
struct timeval now; struct timeval now;
time_t scan_post; time_t scan_post;
@ -3531,7 +3531,8 @@ static bool queue_request(struct thr_info *thr, bool needed)
/* Test to make sure we have enough work for pools without rolltime /* Test to make sure we have enough work for pools without rolltime
* and enough original work for pools with rolltime */ * and enough original work for pools with rolltime */
if (rq >= mining_threads && rq > staged_extras + opt_queue && if ((rq >= mining_threads || rs >= mining_threads) &&
rq > staged_extras + opt_queue &&
now.tv_sec - requested_tv_sec < scan_post) now.tv_sec - requested_tv_sec < scan_post)
return true; return true;
@ -3551,7 +3552,7 @@ static bool queue_request(struct thr_info *thr, bool needed)
/* If we're queueing work faster than we can stage it, consider the /* If we're queueing work faster than we can stage it, consider the
* system lagging and allow work to be gathered from another pool if * system lagging and allow work to be gathered from another pool if
* possible */ * possible */
if (rq && needed && !requests_staged() && !opt_fail_only) if (rq && needed && !rs && !opt_fail_only)
wc->lagging = true; wc->lagging = true;
applog(LOG_DEBUG, "Queueing getwork request to work thread"); applog(LOG_DEBUG, "Queueing getwork request to work thread");