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:
parent
efa9569b66
commit
47f66405c0
@ -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");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user