mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-25 14:04:25 +00:00
Queue one request for each staged request removed, keeping the staged request count optimal at all times.
This commit is contained in:
parent
1c98e0cf21
commit
e68ecf5eb2
@ -2610,7 +2610,8 @@ static void discard_stale(void)
|
|||||||
|
|
||||||
if (stale) {
|
if (stale) {
|
||||||
applog(LOG_DEBUG, "Discarded %d stales that didn't match current hash", stale);
|
applog(LOG_DEBUG, "Discarded %d stales that didn't match current hash", stale);
|
||||||
queue_request(NULL, false);
|
while (stale-- > 0)
|
||||||
|
queue_request(NULL, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3780,7 +3781,6 @@ bool queue_request(struct thr_info *thr, bool needed)
|
|||||||
static struct work *hash_pop(const struct timespec *abstime)
|
static struct work *hash_pop(const struct timespec *abstime)
|
||||||
{
|
{
|
||||||
struct work *work = NULL;
|
struct work *work = NULL;
|
||||||
bool queue = false;
|
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
mutex_lock(stgd_lock);
|
mutex_lock(stgd_lock);
|
||||||
@ -3791,13 +3791,10 @@ static struct work *hash_pop(const struct timespec *abstime)
|
|||||||
work = staged_work;
|
work = staged_work;
|
||||||
HASH_DEL(staged_work, work);
|
HASH_DEL(staged_work, work);
|
||||||
work->pool->staged--;
|
work->pool->staged--;
|
||||||
if (HASH_COUNT(staged_work) < (unsigned int)mining_threads)
|
|
||||||
queue = true;
|
|
||||||
}
|
}
|
||||||
mutex_unlock(stgd_lock);
|
mutex_unlock(stgd_lock);
|
||||||
|
|
||||||
if (queue)
|
queue_request(NULL, false);
|
||||||
queue_request(NULL, false);
|
|
||||||
|
|
||||||
return work;
|
return work;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user