Browse Source

Merge pull request #193 from kanoi/master

API add last share time to each pool + Correct Icarus U: & MH/s
nfactor-troky
Con Kolivas 13 years ago
parent
commit
d5eb6650e2
  1. 8
      api.c
  2. 1
      cgminer.c
  3. 10
      driver-icarus.c
  4. 2
      miner.h

8
api.c

@ -158,7 +158,7 @@ static const char SEPARATOR = '|';
#define SEPSTR "|" #define SEPSTR "|"
static const char GPUSEP = ','; static const char GPUSEP = ',';
static const char *APIVERSION = "1.9"; static const char *APIVERSION = "1.10";
static const char *DEAD = "Dead"; static const char *DEAD = "Dead";
static const char *SICK = "Sick"; static const char *SICK = "Sick";
static const char *NOSTART = "NoStart"; 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); rpc_user = escape_string(pool->rpc_user, isjson);
sprintf(buf, 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\"}" ? "%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" SEPSTR, : "%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, (isjson && (i > 0)) ? COMMA : BLANK,
i, rpc_url, status, pool->prio, lp, i, rpc_url, status, pool->prio, lp,
pool->getwork_requested, pool->getwork_requested,
@ -1231,7 +1231,7 @@ static void poolstatus(__maybe_unused SOCKETTYPE c, __maybe_unused char *param,
pool->stale_shares, pool->stale_shares,
pool->getfail_occasions, pool->getfail_occasions,
pool->remotefail_occasions, pool->remotefail_occasions,
rpc_user); rpc_user, pool->last_share_time);
strcat(io_buffer, buf); strcat(io_buffer, buf);

1
cgminer.c

@ -1660,6 +1660,7 @@ static bool submit_upstream_work(const struct work *work, CURL *curl)
pool->seq_rejects = 0; pool->seq_rejects = 0;
cgpu->last_share_pool = pool->pool_no; cgpu->last_share_pool = pool->pool_no;
cgpu->last_share_pool_time = time(NULL); 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!!!)"); applog(LOG_DEBUG, "PROOF OF WORK RESULT: true (yay!!!)");
if (!QUIET) { if (!QUIET) {
if (total_pools > 1) if (total_pools > 1)

10
driver-icarus.c

@ -72,12 +72,8 @@
// 2 x 11.1 / (5.26 x 10^-9) // 2 x 11.1 / (5.26 x 10^-9)
//#define ESTIMATE_HASHES 0xFB90365E //#define ESTIMATE_HASHES 0xFB90365E
// This is the 8s value but causes hash rate loss // This is the 8s value
//#define ESTIMATE_HASHES 0xB54E9147 #define ESTIMATE_HASHES 0xB54E9147
// TODO: determine why returning any other value when no nonce is found
// causes hash rate loss
#define ESTIMATE_HASHES 0xffffffff
struct device_api icarus_api; struct device_api icarus_api;
@ -353,6 +349,7 @@ static uint64_t icarus_scanhash(struct thr_info *thr, struct work *work,
if (opt_debug) if (opt_debug)
gettimeofday(&tv_finish, NULL); gettimeofday(&tv_finish, NULL);
work->blk.nonce = 0xffffffff;
memcpy((char *)&nonce, nonce_bin, sizeof(nonce_bin)); memcpy((char *)&nonce, nonce_bin, sizeof(nonce_bin));
// aborted before becoming idle, get new work // 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); nonce = swab32(nonce);
#endif #endif
work->blk.nonce = 0xffffffff;
submit_nonce(thr, work, nonce); submit_nonce(thr, work, nonce);
if (opt_debug) { if (opt_debug) {

2
miner.h

@ -645,6 +645,8 @@ struct pool {
int curls; int curls;
pthread_cond_t cr_cond; pthread_cond_t cr_cond;
struct list_head curlring; struct list_head curlring;
time_t last_share_time;
}; };
struct work { struct work {

Loading…
Cancel
Save