Con Kolivas
d66742a8c1
Minimise locking and unlocking when getting counts by reusing shared mutex lock functions.
13 years ago
Con Kolivas
c91a95459b
Avoid getting more work if by the time the getwork thread is spawned we find ourselves with enough work.
13 years ago
Con Kolivas
f27bcb8ee5
Going back to e68ecf5eb2
13 years ago
Con Kolivas
c892ded6e0
Make sure there are true pending staged work items as well in failover only mode.
13 years ago
Con Kolivas
61003df49f
In failover-only mode we need to queue enough work for the local pool and ignore the total queued count.
13 years ago
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.
13 years ago
Con Kolivas
c0aaf56a8d
Since all the counts use the same mutex, grab it only once.
13 years ago
Con Kolivas
4f9394be81
When popping work, grab cloned work first if possible since original work can be reused to make further clones.
13 years ago
Con Kolivas
8085ae6854
Further simplify the queue request mechanism.
13 years ago
Con Kolivas
f83863a996
Keep total queued count as a fake pending staged count to account for the period a queue is in flight before it is staged.
13 years ago
Con Kolivas
e47dc87355
Clone work at the time of requesting it if an existing work item can be rolled.
13 years ago
Con Kolivas
e68ecf5eb2
Queue one request for each staged request removed, keeping the staged request count optimal at all times.
13 years ago
Kano
52e5524d7f
Escape " and \ when writing json config file
13 years ago
ckolivas
3dd1658e1f
We may as well leave one curl still available per pool instead of reaping the last one.
13 years ago
ckolivas
c7bcad653b
Need to recheck the pool->curls count on regaining the pool lock after the pthread conditional wait returns.
13 years ago
ckolivas
ad8c4b7755
Revert "Only add to the pool curlring and increment the counter under mutex lock."
...
This reverts commit 8897e06575
.
Wrong fix. Recursive locking now.
13 years ago
ckolivas
145f04ccc7
Display reaped debug message outside mutex lock to avoid recursive locking.
13 years ago
ckolivas
8897e06575
Only add to the pool curlring and increment the counter under mutex lock.
13 years ago
Con Kolivas
25fd6cd0fd
Correct writing of scrypt parameters to config file based on command line parameters only.
13 years ago
Con Kolivas
7611499b11
Queue a request on pool switch in case we have no work from the new pool yet.
13 years ago
Con Kolivas
4efa31d2e7
Display failover only mode in pool menu and allow it to be toggled live.
13 years ago
Con Kolivas
1a041668a5
Reinstate check for system queueing lag when the current pool's queue is maxed out, there is no staged work, and the work is needed now.
13 years ago
Con Kolivas
499c594cba
There is no need for pool active testing to be mandatory any more with queue request changes.
13 years ago
Con Kolivas
e4326e3ca2
Fix harmless warnings.
13 years ago
Con Kolivas
9a45a6d993
Check the current staged and global queued as well before queueing requests.
...
Discard stales before ageing work in the watchdog thread.
Queue requests after discarding and ageing work in watchdog thread.
Display accurate global queued in curses output.
Reuse variable in age_work().
13 years ago
Con Kolivas
bf9c324752
The queueing mechanism has become a complex state machine that is no longer predictable. Rewrite it from scratch watching only current queues in flight and staged work available on a pool by pool basis.
13 years ago
Con Kolivas
b66e0241f7
Queue an extra request whenever staged work drops below mining thread count in hash_pop.
13 years ago
Con Kolivas
15dc4bb320
Scrypt mining does not support block testing yet so don't try to print it.
13 years ago
Con Kolivas
2953aa2502
We dropped the temporary stopping of curl recruiting on submit_fail by mistake, reinstate it.
13 years ago
Con Kolivas
9410875e2f
Make threads report in either side of the scanhash function in case we miss reporting in when restarting work.
13 years ago
ckolivas
d5dffa6aad
Don't make mandatory work and its clones last forever.
13 years ago
Con Kolivas
aa52db4539
Make test work for pool_active mandatory work items to smooth out staged work counts when in failover-only mode.
13 years ago
Kano
e067be421a
ICA support 57600 baud rate, up to 8 FPGA and partial working FPGA boards
13 years ago
Con Kolivas
8414a9a7e2
Add debugging output when work is found stale as to why.
13 years ago
Con Kolivas
d37d044fb7
Add some headroom to the number of curls available per pool to allow for longpoll and sendwork curls.
13 years ago
Tydus
fd51e5ba01
Add scrypt support while writing conf
13 years ago
Con Kolivas
99204bd59a
Display scrypt as being built in as well.
13 years ago
Con Kolivas
7a07c7d04c
Fix build warning about KL_SCRYPT when built without scrypt support.
13 years ago
Con Kolivas
c91148f193
Remove the low hash count determinant of hardware being sick. A low hash rate can be for poor network connectivity or scrypt mining, neither of which are due to sick hardware.
13 years ago
Con Kolivas
d8ec6d3e23
Display kilohash when suitable, but store the global mhash value still truly in megahashes to not break the API output.
13 years ago
Con Kolivas
b5517af024
Don't try and print curses output for devices that won't fit on the screen.
13 years ago
Con Kolivas
b40c8b848f
Limit total number of curls recruited per pool to the number of mining threads to prevent blasting the network when we only have one pool to talk to.
13 years ago
Con Kolivas
e87ff7c177
Keep a counter of enabled pools and use that instead of iterating over the pool list. Use that value to ensure we don't set the last remaining active pool to the rejecting state.
13 years ago
Con Kolivas
5148502c1e
Reinstate help information for lookup gap and thread concurrency since tc will often need to be manually set for optimal scrypt performance.
13 years ago
Con Kolivas
9a6c082ad1
Make the thread concurrency and lookup gap options hidden on the command line and autotune parameters with a newly parsed --shaders option.
13 years ago
Luke Dashjr
da4ff2bde1
Bugfix: Use a mutex to control non-curses output
...
Without this, there is no guarantee writes won't overlap (and it happens quite a bit on Windows with the bitforce driver)
13 years ago
Luke Dashjr
d98e561a0a
Simplify code to a single vprintf path for curses-less printing
13 years ago
Luke Dashjr
80593c47fc
Move opt_quiet check to my_log_curses, so it works for curses-less builds
13 years ago
Luke Dashjr
a1cb0d06d5
Bugfix: Copy argv[0] given to dirname()
...
Per manpage, dirname can (and does on GNU/Linux!) modify its argument
13 years ago
Con Kolivas
94c94d659a
Nonce testing for btc got screwed up, leading to no accepted shares. Fix it.
13 years ago