Browse Source

If shares are known stale, don't use them to decide to disable a pool for sequential rejects.

nfactor-troky
Con Kolivas 13 years ago
parent
commit
85210ee7a8
  1. 7
      cgminer.c
  2. 2
      miner.h

7
cgminer.c

@ -1725,8 +1725,10 @@ static bool submit_upstream_work(const struct work *work, CURL *curl) @@ -1725,8 +1725,10 @@ static bool submit_upstream_work(const struct work *work, CURL *curl)
/* Once we have more than a nominal amount of sequential rejects,
* at least 10 and more than 3 mins at the current utility,
* disable the pool because some pool error is likely to have
* ensued. */
if (pool->seq_rejects > 10 && opt_disable_pool && total_pools > 1) {
* ensued. Do not do this if we know the share just happened to
* be stale due to networking delays.
*/
if (pool->seq_rejects > 10 && !work->stale && opt_disable_pool && total_pools > 1) {
double utility = total_accepted / ( total_secs ? total_secs : 1 ) * 60;
if (pool->seq_rejects > utility * 3) {
@ -2161,6 +2163,7 @@ static void *submit_work_thread(void *userdata) @@ -2161,6 +2163,7 @@ static void *submit_work_thread(void *userdata)
pool->stale_shares++;
goto out;
}
work->stale = true;
}
ce = pop_curl_entry(pool);

2
miner.h

@ -716,11 +716,13 @@ struct work { @@ -716,11 +716,13 @@ struct work {
int thr_id;
struct pool *pool;
struct timeval tv_staged;
bool mined;
bool clone;
bool cloned;
bool rolltime;
bool longpoll;
bool stale;
unsigned int work_block;
int id;

Loading…
Cancel
Save