From b9e5f8e55065df4f050ab45f66a435b1ac54efb1 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 21 Jul 2012 10:28:41 +1000 Subject: [PATCH] Revert "Use cpu scrypt code to check if an scrypt share is below target before submitting it." This reverts commit 808f403a14267263066b0c257c262a1be6ef47ca. Conflicts: findnonce.c --- Makefile.am | 8 ++++---- cgminer.c | 2 +- findnonce.c | 12 +++--------- scrypt.c | 16 +--------------- 4 files changed, 9 insertions(+), 29 deletions(-) diff --git a/Makefile.am b/Makefile.am index 1473375e..a784ef91 100644 --- a/Makefile.am +++ b/Makefile.am @@ -45,10 +45,6 @@ cgminer_SOURCES += ocl.c ocl.h findnonce.c findnonce.h cgminer_SOURCES += adl.c adl.h adl_functions.h cgminer_SOURCES += *.cl -if HAS_SCRYPT -cgminer_SOURCES += scrypt.c -endif - if HAS_CPUMINE # original CPU related sources, unchanged cgminer_SOURCES += \ @@ -60,6 +56,10 @@ cgminer_SOURCES += \ # the CPU portion extracted from original main.c cgminer_SOURCES += driver-cpu.h driver-cpu.c +if HAS_SCRYPT +cgminer_SOURCES += scrypt.c +endif + if HAS_YASM AM_CFLAGS = -DHAS_YASM if HAVE_x86_64 diff --git a/cgminer.c b/cgminer.c index 48010128..f2ea3826 100644 --- a/cgminer.c +++ b/cgminer.c @@ -4012,7 +4012,7 @@ bool submit_nonce(struct thr_info *thr, struct work *work, uint32_t nonce) /* Do one last check before attempting to submit the work */ /* Side effect: sets work->data for us */ if (!test_nonce(work, nonce)) { - applog(LOG_INFO, "Pool %d share below target", work->pool->pool_no); + applog(LOG_INFO, "Share below target"); return true; } return submit_work_sync(thr, work); diff --git a/findnonce.c b/findnonce.c index 3864fba8..a11333a1 100644 --- a/findnonce.c +++ b/findnonce.c @@ -220,8 +220,6 @@ static void send_nonce(struct pc_data *pcd, cl_uint nonce) } } -extern bool scrypt_scan_nonce(struct work *work, uint32_t nonce); - static void *postcalc_hash(void *userdata) { struct pc_data *pcd = (struct pc_data *)userdata; @@ -236,13 +234,9 @@ static void *postcalc_hash(void *userdata) if (nonce) { applog(LOG_DEBUG, "OCL NONCE %u", nonce); #ifdef USE_SCRYPT - if (opt_scrypt) { - struct work *work = pcd->work; - if (scrypt_scan_nonce(work, nonce)) - submit_nonce(thr, work, nonce); - else - applog(LOG_INFO, "Pool %d share below target", work->pool->pool_no); - } else + if (opt_scrypt) + submit_nonce(thr, pcd->work, nonce); + else #endif send_nonce(pcd, nonce); nonces++; diff --git a/scrypt.c b/scrypt.c index 14378d6d..4334bcf0 100644 --- a/scrypt.c +++ b/scrypt.c @@ -407,20 +407,6 @@ static uint32_t scrypt_1024_1_1_256_sp(const uint32_t* input, char* scratchpad) return PBKDF2_SHA256_80_128_32(input, X); } -bool scrypt_scan_nonce(struct work *work, uint32_t nonce) -{ - uint32_t Htarg, tmp_hash7, data[20]; - unsigned char *scratchbuf; - - be32enc_vect(data, (const uint32_t *)work->data, 19); - data[19] = htobe32(nonce); - - Htarg = ((const uint32_t *)work->target)[7]; - scratchbuf = alloca(131584); - tmp_hash7 = scrypt_1024_1_1_256_sp(data, scratchbuf); - return (tmp_hash7 <= Htarg); -} - bool scanhash_scrypt(struct thr_info *thr, const unsigned char *pmidstate, unsigned char *pdata, unsigned char *phash1, unsigned char *phash, const unsigned char *ptarget, @@ -437,7 +423,7 @@ bool scanhash_scrypt(struct thr_info *thr, const unsigned char *pmidstate, unsig be32enc_vect(data, (const uint32_t *)pdata, 19); - scratchbuf = malloc(131584); + scratchbuf = malloc(131583); if (unlikely(!scratchbuf)) { applog(LOG_ERR, "Failed to malloc scratchbuf in scanhash_scrypt"); return ret;