From 44fc698750a22a7c13637dbe2ef6020a9efb7df6 Mon Sep 17 00:00:00 2001 From: Kano Date: Fri, 4 May 2012 00:13:42 +1000 Subject: [PATCH 1/2] API add last share time to each pool --- api.c | 8 ++++---- cgminer.c | 1 + miner.h | 2 ++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/api.c b/api.c index 8571dccd..1bf9b2b7 100644 --- a/api.c +++ b/api.c @@ -158,7 +158,7 @@ static const char SEPARATOR = '|'; #define SEPSTR "|" static const char GPUSEP = ','; -static const char *APIVERSION = "1.9"; +static const char *APIVERSION = "1.10"; static const char *DEAD = "Dead"; static const char *SICK = "Sick"; static const char *NOSTART = "NoStart"; @@ -1221,8 +1221,8 @@ static void poolstatus(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, rpc_user = escape_string(pool->rpc_user, isjson); sprintf(buf, isjson - ? "%s{\"POOL\":%d,\"URL\":\"%s\",\"Status\":\"%s\",\"Priority\":%d,\"Long Poll\":\"%s\",\"Getworks\":%d,\"Accepted\":%d,\"Rejected\":%d,\"Discarded\":%d,\"Stale\":%d,\"Get Failures\":%d,\"Remote Failures\":%d,\"User\":\"%s\"}" - : "%sPOOL=%d,URL=%s,Status=%s,Priority=%d,Long Poll=%s,Getworks=%d,Accepted=%d,Rejected=%d,Discarded=%d,Stale=%d,Get Failures=%d,Remote Failures=%d,User=%s" SEPSTR, + ? "%s{\"POOL\":%d,\"URL\":\"%s\",\"Status\":\"%s\",\"Priority\":%d,\"Long Poll\":\"%s\",\"Getworks\":%d,\"Accepted\":%d,\"Rejected\":%d,\"Discarded\":%d,\"Stale\":%d,\"Get Failures\":%d,\"Remote Failures\":%d,\"User\":\"%s\",\"Last Share Time\":%lu}" + : "%sPOOL=%d,URL=%s,Status=%s,Priority=%d,Long Poll=%s,Getworks=%d,Accepted=%d,Rejected=%d,Discarded=%d,Stale=%d,Get Failures=%d,Remote Failures=%d,User=%s,Last Share Time=%lu" SEPSTR, (isjson && (i > 0)) ? COMMA : BLANK, i, rpc_url, status, pool->prio, lp, pool->getwork_requested, @@ -1231,7 +1231,7 @@ static void poolstatus(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, pool->stale_shares, pool->getfail_occasions, pool->remotefail_occasions, - rpc_user); + rpc_user, pool->last_share_time); strcat(io_buffer, buf); diff --git a/cgminer.c b/cgminer.c index 58731a9c..d3937458 100644 --- a/cgminer.c +++ b/cgminer.c @@ -1660,6 +1660,7 @@ static bool submit_upstream_work(const struct work *work, CURL *curl) pool->seq_rejects = 0; cgpu->last_share_pool = pool->pool_no; cgpu->last_share_pool_time = time(NULL); + pool->last_share_time = cgpu->last_share_pool_time; applog(LOG_DEBUG, "PROOF OF WORK RESULT: true (yay!!!)"); if (!QUIET) { if (total_pools > 1) diff --git a/miner.h b/miner.h index 27decf2d..4115cc5b 100644 --- a/miner.h +++ b/miner.h @@ -645,6 +645,8 @@ struct pool { int curls; pthread_cond_t cr_cond; struct list_head curlring; + + time_t last_share_time; }; struct work { From b3a50dd465d9e82546ef03a624d24fdd50fb70b0 Mon Sep 17 00:00:00 2001 From: Kano Date: Fri, 4 May 2012 10:35:45 +1000 Subject: [PATCH 2/2] Icarus - correct MH/s and U: with work restart set at 8 seconds --- driver-icarus.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/driver-icarus.c b/driver-icarus.c index 7a7ec494..47b0b164 100644 --- a/driver-icarus.c +++ b/driver-icarus.c @@ -72,12 +72,8 @@ // 2 x 11.1 / (5.26 x 10^-9) //#define ESTIMATE_HASHES 0xFB90365E -// This is the 8s value but causes hash rate loss -//#define ESTIMATE_HASHES 0xB54E9147 - -// TODO: determine why returning any other value when no nonce is found -// causes hash rate loss -#define ESTIMATE_HASHES 0xffffffff +// This is the 8s value +#define ESTIMATE_HASHES 0xB54E9147 struct device_api icarus_api; @@ -353,6 +349,7 @@ static uint64_t icarus_scanhash(struct thr_info *thr, struct work *work, if (opt_debug) gettimeofday(&tv_finish, NULL); + work->blk.nonce = 0xffffffff; memcpy((char *)&nonce, nonce_bin, sizeof(nonce_bin)); // aborted before becoming idle, get new work @@ -369,7 +366,6 @@ static uint64_t icarus_scanhash(struct thr_info *thr, struct work *work, nonce = swab32(nonce); #endif - work->blk.nonce = 0xffffffff; submit_nonce(thr, work, nonce); if (opt_debug) {