Con Kolivas
e8daf1d8f2
Increment the queued count after the curl is popped in case there's a delay waiting on curls and we think we've queued work when in fact we're waiting on curls.
2012-08-20 16:19:28 +10:00
Con Kolivas
08948e02f3
Increase curl reaping time to 5 minutes since comms between curl requests can be 2 mins apart with lots of rolltime.
2012-08-20 16:02:32 +10:00
Con Kolivas
51d485e236
No need for extra variable in hash_push.
2012-08-20 16:02:32 +10:00
Con Kolivas
c01284fb07
Remove short options -r and -R to allow them to be reused and remove readme entries for deprecated options.
2012-08-20 11:58:05 +10:00
Con Kolivas
8fc701dd76
Deprecate the opt_fail_pause parameter, leaving a null placeholder for existing configurations.
2012-08-20 11:18:37 +10:00
Con Kolivas
35cb7fd101
Don't pause after failed getwork, set lagging flag and reassess.
2012-08-20 11:16:38 +10:00
Con Kolivas
69d8c339aa
Add message to share if it's a resubmit.
2012-08-20 11:08:56 +10:00
Con Kolivas
b622e97e3e
We should not be pausing in trying to resubmit shares.
2012-08-20 11:03:28 +10:00
Con Kolivas
a9278ce944
Get rid of the extending fail pause on failed connects since we discard work after a period.
2012-08-20 11:00:10 +10:00
Con Kolivas
34b8dcb7bc
get_work always returns true so turn it into a void function.
2012-08-20 10:58:12 +10:00
Con Kolivas
260b1c87c0
get_work never returns false so get rid of fail pause loop.
2012-08-20 10:54:59 +10:00
Con Kolivas
4df9c387f0
Get rid of pause and retry from get_upstream_work so we only do it from one place.
2012-08-20 10:53:42 +10:00
Con Kolivas
1f295cd7fa
Deprecate the opt_retries feature as no one wants cgminer to automatically abort. Leave a null placeholder for configurations that still have it.
2012-08-20 10:43:50 +10:00
Con Kolivas
f6d2853c9b
Summary layout difference.
2012-08-18 19:53:43 +10:00
Con Kolivas
ed3eb5771a
Introduce a new statistic, Work Utility, which is the number of difficulty 1 shares solved per minute. This is useful for measuring a relative rate of work that is independent of reject rate and target difficulty.
2012-08-18 15:44:48 +10:00
Con Kolivas
26ab7346e3
Implement a new pool strategy, BALANCE, which monitors work performed per pool as a rolling average every 10 minutes to try and distribute work evenly over all the pools.
...
Do this by monitoring diff1 solutions to allow different difficulty target pools to be treated equally, along with solo mining.
Update the documentation to describe this strategy and more accurately describe the load-balance one.
2012-08-18 15:27:53 +10:00
Con Kolivas
d8c76bbd08
Getwork fail was not being detected. Remove a vast amount of unused variables and functions used in the old queue request mechanism and redefine the getfail testing.
2012-08-18 11:26:11 +10:00
Con Kolivas
8fa708093b
Don't try to start devices that don't support scrypt when scrypt mining.
2012-08-18 11:07:32 +10:00
Con Kolivas
b814b42c7f
Consider us lagging only once our queue is almost full and no staged work.
2012-08-18 10:38:02 +10:00
Con Kolivas
b60f9da4a5
Simplify the enough work algorithm dramatically.
2012-08-18 10:37:05 +10:00
Con Kolivas
0e56dffd92
Only queue from backup pools once we have nothing staged.
2012-08-18 10:37:05 +10:00
Con Kolivas
e16b7566bd
Don't keep queueing work indefinitely if we're in opt failover mode.
2012-08-18 10:37:05 +10:00
Con Kolivas
6d1949e694
Make sure we don't opt out of queueing more work if all the queued work is from one pool.
2012-08-18 10:37:05 +10:00
Con Kolivas
a5f7b953fe
Set lagging flag if we're on the last of our staged items.
2012-08-18 10:37:05 +10:00
Con Kolivas
ee9e621e1c
Reinstate clone on grabbing work.
2012-08-18 10:37:05 +10:00
Con Kolivas
55f7c14982
Grab clones from hashlist wherever possible first.
2012-08-18 10:37:05 +10:00
Con Kolivas
c3e32274ee
Cull all the early queue requests since we request every time work is popped now.
2012-08-18 10:37:05 +10:00
Con Kolivas
0fbd60ae37
Keep track of staged rollable work item counts to speed up clone_available.
2012-08-18 10:37:05 +10:00
Con Kolivas
83b9ddfea4
Make expiry on should_roll to 2/3 time instead of share duration since some hardware will have very fast share times.
2012-08-18 10:37:05 +10:00
Con Kolivas
8697d6a2ce
Do the cheaper comparison first.
2012-08-18 10:37:05 +10:00
Con Kolivas
381c56f811
Check that we'll get 1 shares' worth of work time by rolling before saying we should roll the work.
2012-08-18 10:37:05 +10:00
Con Kolivas
afcfea15a7
Simplify all those total_secs usages by initialising it to 1 second.
2012-08-18 10:37:05 +10:00
Con Kolivas
5fadfdb219
Overlap queued decrementing with staged incrementing.
2012-08-18 10:37:05 +10:00
Con Kolivas
9f1d9ce3b7
Artificially set the pool lagging flag on pool switch in failover only mode as well.
2012-08-18 10:37:05 +10:00
Con Kolivas
a6b97327e1
Artificially set the pool lagging flag on work restart to avoid messages about slow pools after every longpoll.
2012-08-18 10:37:05 +10:00
Con Kolivas
44e81218fd
Factor in opt_queue value into enough work queued or staged.
2012-08-18 10:37:05 +10:00
Con Kolivas
611f1cec7c
Roll work whenever we can on getwork.
2012-08-18 10:37:05 +10:00
Con Kolivas
fd0be1bb51
Queue requests for getwork regardless and test whether we should send for a getwork from the getwork thread itself.
2012-08-18 10:37:04 +10:00
Con Kolivas
7d77c01619
Get rid of age_work().
2012-08-18 10:37:04 +10:00
Con Kolivas
d1508bd40e
Merge pull request #296 from kanoi/api
...
API allow display/change failover-only setting (API v1.16)
2012-08-14 14:45:34 -07:00
Kano
95dff7363e
API allow display/change failover-only setting
2012-08-14 12:54:27 +10:00
Con Kolivas
8e20456bc0
Check we are not lagging as well as there is enough work in getwork.
2012-08-14 09:13:59 +10:00
Con Kolivas
00691ababf
Merge pull request #292 from kanoi/main
...
Escape " and \ when writing json config file
2012-08-11 20:42:05 -07:00
Con Kolivas
d66742a8c1
Minimise locking and unlocking when getting counts by reusing shared mutex lock functions.
2012-08-12 11:04:51 +10:00
Con Kolivas
c91a95459b
Avoid getting more work if by the time the getwork thread is spawned we find ourselves with enough work.
2012-08-12 10:55:18 +10:00
Con Kolivas
f27bcb8ee5
Going back to e68ecf5eb2
2012-08-12 10:45:59 +10:00
Con Kolivas
c892ded6e0
Make sure there are true pending staged work items as well in failover only mode.
2012-08-12 10:40:58 +10:00
Con Kolivas
61003df49f
In failover-only mode we need to queue enough work for the local pool and ignore the total queued count.
2012-08-12 10:33:26 +10:00
Con Kolivas
8aa61f6626
Make sure we have work from the current pool somewhere in the queue in case the queue is full of requests from a pool that has just died.
2012-08-11 16:47:49 +10:00
Con Kolivas
c0aaf56a8d
Since all the counts use the same mutex, grab it only once.
2012-08-11 16:11:53 +10:00