|
|
@ -3550,7 +3550,7 @@ static bool queue_request(struct thr_info *thr, bool needed) |
|
|
|
struct workio_cmd *wc; |
|
|
|
struct workio_cmd *wc; |
|
|
|
struct timeval now; |
|
|
|
struct timeval now; |
|
|
|
time_t scan_post; |
|
|
|
time_t scan_post; |
|
|
|
int toq, rq, rs; |
|
|
|
int rq, rs; |
|
|
|
bool ret = true; |
|
|
|
bool ret = true; |
|
|
|
|
|
|
|
|
|
|
|
/* Prevent multiple requests being executed at once */ |
|
|
|
/* Prevent multiple requests being executed at once */ |
|
|
@ -3577,12 +3577,6 @@ static bool queue_request(struct thr_info *thr, bool needed) |
|
|
|
|
|
|
|
|
|
|
|
requested_tv_sec = now.tv_sec; |
|
|
|
requested_tv_sec = now.tv_sec; |
|
|
|
|
|
|
|
|
|
|
|
if (rq > rs) |
|
|
|
|
|
|
|
toq = rq - mining_threads; |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
toq = rs - mining_threads; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
do { |
|
|
|
|
|
|
|
inc_queued(); |
|
|
|
inc_queued(); |
|
|
|
|
|
|
|
|
|
|
|
/* fill out work request message */ |
|
|
|
/* fill out work request message */ |
|
|
@ -3590,7 +3584,7 @@ static bool queue_request(struct thr_info *thr, bool needed) |
|
|
|
if (unlikely(!wc)) { |
|
|
|
if (unlikely(!wc)) { |
|
|
|
applog(LOG_ERR, "Failed to calloc wc in queue_request"); |
|
|
|
applog(LOG_ERR, "Failed to calloc wc in queue_request"); |
|
|
|
ret = false; |
|
|
|
ret = false; |
|
|
|
break; |
|
|
|
goto out; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
wc->cmd = WC_GET_WORK; |
|
|
|
wc->cmd = WC_GET_WORK; |
|
|
@ -3609,11 +3603,8 @@ static bool queue_request(struct thr_info *thr, bool needed) |
|
|
|
applog(LOG_ERR, "Failed to tq_push in queue_request"); |
|
|
|
applog(LOG_ERR, "Failed to tq_push in queue_request"); |
|
|
|
workio_cmd_free(wc); |
|
|
|
workio_cmd_free(wc); |
|
|
|
ret = false; |
|
|
|
ret = false; |
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} while (--toq > 0); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
out: |
|
|
|
out: |
|
|
|
control_tclear(&queueing); |
|
|
|
control_tclear(&queueing); |
|
|
|
|
|
|
|
|
|
|
|