Browse Source

Revert "Make sure not to try and submit work for nonces higher than already submitted in current work item."

This reverts commit a2dd410e36.

Incorrect fix. Missed real shares that are accepted.
nfactor-troky
Con Kolivas 13 years ago
parent
commit
b6ac9f185e
  1. 17
      findnonce.c
  2. 1
      main.c
  3. 1
      miner.h

17
findnonce.c

@ -157,6 +157,7 @@ static void *postcalc_hash(void *userdata) @@ -157,6 +157,7 @@ static void *postcalc_hash(void *userdata)
cl_uint A, B, C, D, E, F, G, H;
cl_uint W[16];
cl_uint nonce;
cl_uint best_g;
uint32_t end;
int entry = 0;
@ -171,6 +172,7 @@ cycle: @@ -171,6 +172,7 @@ cycle:
if (entry == MAXBUFFERS)
goto out;
best_g = ~0;
end = start + 1026;
for (nonce = start; nonce != end; nonce+=1) {
@ -204,21 +206,20 @@ cycle: @@ -204,21 +206,20 @@ cycle:
FR(48); PFR(56);
if (unlikely(H == 0xA41F32E7)) {
G += 0x1f83d9ab;
G = ByteReverse(G);
if (G < thr->best_g) {
if (unlikely(submit_nonce(thr, work, nonce) == false)) {
applog(LOG_ERR, "Failed to submit work, exiting");
break;
}
thr->best_g = G;
}
G += 0x1f83d9ab;
G = ByteReverse(G);
if (G < best_g)
best_g = G;
}
}
if (unlikely(thr->best_g == ~0)) {
if (unlikely(best_g == ~0)) {
if (opt_debug)
applog(LOG_DEBUG, "No best_g found! Error in OpenCL code?");
hw_errors++;

1
main.c

@ -1727,7 +1727,6 @@ static void *gpuminer_thread(void *userdata) @@ -1727,7 +1727,6 @@ static void *gpuminer_thread(void *userdata)
"gpu mining thread %d", mythr->id);
goto out;
}
mythr->best_g = ~0;
mythr->cgpu->getworks++;
work->thr_id = thr_id;
requested = false;

1
miner.h

@ -145,7 +145,6 @@ struct thr_info { @@ -145,7 +145,6 @@ struct thr_info {
struct thread_q *q;
struct cgpu_info *cgpu;
struct timeval last;
cl_uint best_g;
};
static inline uint32_t swab32(uint32_t v)

Loading…
Cancel
Save