Con Kolivas
4a210d4eff
Only clear the pool lagging flag if we're staging work faster than we're using it.
2012-08-27 10:02:53 +10:00
Con Kolivas
d1683f75c9
needed flag is currently always false in queue_request. Remove it for now.
2012-08-27 09:55:19 +10:00
Con Kolivas
1b7db5bc9c
thr is always NULL going into queue_request now.
2012-08-27 09:47:55 +10:00
Con Kolivas
0e0093e602
Select pool regardless of whether we're lagging or not, and don't queue another request in switch pool to avoid infinite recursion.
2012-08-24 01:23:54 +10:00
Con Kolivas
7992e5f3c8
Carry the needed bool over the work command queue.
2012-08-24 00:41:14 +10:00
Con Kolivas
37fa7d36d4
Move the decision to queue further work upstream before threads are spawned based on fine grained per-pool stats and increment the queued count immediately.
2012-08-24 00:35:26 +10:00
Con Kolivas
618b3e8b11
Track queued and staged per pool once again for future use.
2012-08-23 23:50:38 +10:00
Con Kolivas
4ca288e820
Limit queued_getworks to double the expected queued maximum rather than factoring in number of pools.
2012-08-23 16:55:14 +10:00
Con Kolivas
ad90269508
Minimise the number of getwork threads we generate.
2012-08-23 16:33:24 +10:00
Con Kolivas
0feb679b67
Only keep the last 6 blocks in the uthash database to keep memory usage constant. Storing more is unhelpful anyway.
2012-08-23 12:19:23 +10:00
Con Kolivas
b74b54d95b
Check we haven't staged work while waiting for a curl entry before proceeding.
2012-08-23 11:09:09 +10:00
Con Kolivas
61df3013a8
Ignore the submit_fail flag when deciding whether to recruit more curls or not since we have upper bounds on how many curls can be recruited, this test is redundant and can lead to problems.
2012-08-22 23:03:17 +10:00
ckolivas
edd9b81622
Do not add time to dynamic opencl calculations over a getwork.
2012-08-22 10:07:20 +10:00
Con Kolivas
9de3a264fc
Increase max curls to number of mining threads + queue * 2, accounting for up and downstream comms.
2012-08-21 22:51:34 +10:00
Con Kolivas
3ab5dba67e
Queue enough requests to get started.
2012-08-21 22:50:09 +10:00
Con Kolivas
3ebe8e8c77
Revert "Scale maximum number of curls up according to work submission rate."
...
This reverts commit 1dff48e759
.
Did not increase staged work even though it decreased queues.
2012-08-21 22:09:11 +10:00
Con Kolivas
3ceb57b8f6
There is no point trying to clone_work in get_work() any more since we clone on every get_work_thread where possible.
2012-08-21 21:54:33 +10:00
Con Kolivas
787e40a7cc
There is no point subtracting 1 from maxq in get_work_thread.
2012-08-21 21:53:35 +10:00
Con Kolivas
1dff48e759
Scale maximum number of curls up according to work submission rate.
2012-08-21 21:50:20 +10:00
Con Kolivas
56be75228e
Roll back to 45f0ac7b48
2012-08-21 21:22:26 +10:00
Con Kolivas
c1886c9c99
Assume we need a full allotment of work after lp and make clone_work clone_lpwork only.
2012-08-21 21:13:14 +10:00
Con Kolivas
82fa6e25d5
There is no point running through clone_work from get_work() now that cloning is done from the get_work_thread.
2012-08-21 21:11:22 +10:00
Con Kolivas
caa266ca3b
Make opt_queue a function of mining threads in clone_work as well.
2012-08-21 21:10:23 +10:00
Con Kolivas
652efc6939
opt_queue should be a function of the number of mining threads.
2012-08-21 21:08:17 +10:00
Con Kolivas
8ed381f78a
Only set lagging flag once there are no staged work items.
2012-08-21 19:47:30 +10:00
Con Kolivas
f5ac84b804
select_pool does not switch back to the primary once lagging is disabled.
2012-08-21 19:32:05 +10:00
Con Kolivas
af32fb9a3d
Merge pull request #301 from kanoi/minerphp
...
API new command 'coin' with mining information
2012-08-21 00:28:50 -07:00
ckolivas
f71d635f0f
Free work before retrying in get_work_thread.
2012-08-21 17:02:11 +10:00
Con Kolivas
b3cfe47222
Increment total work counter under mutex lock.
2012-08-20 22:24:28 +10:00
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
Kano
b3e9858c9f
API new command 'coin' with mining information
2012-08-20 16:07:20 +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