Con Kolivas
2586bda59a
Use only one longpoll as much as possible by using a pthread conditional broadcast that each longpoll thread waits on and checks if it's the current pool before opening its longpoll connection.
13 years ago
Con Kolivas
85210ee7a8
If shares are known stale, don't use them to decide to disable a pool for sequential rejects.
13 years ago
Paul Sheppard
cebd647f50
Messing with BFL code
13 years ago
Paul Sheppard
4d3cc0bc6d
Add check to 'i' (could be considered safer)
13 years ago
Paul Sheppard
407be57400
Change write_config so that pools are saved in priority order.
13 years ago
Kano
17b6f111a6
Icarus: make --icarus-timing hidden and document it in FPGA-README
13 years ago
Kano
b5ed958e84
Icarus: high accuracy timing and other bitstream speed support
13 years ago
Xiangfu
9414fa7c18
work_decode only needs swab32 on midstate under BIG ENDIAN
13 years ago
Kano
c2e2e7e437
save config bugfix: writing an extra ',' when no gpus
13 years ago
Con Kolivas
61696c072c
In the unlikely event of finding a block, display the block solved count with the pool it came from for auditing.
13 years ago
Con Kolivas
6282dfb405
Display the device summary on exit even if a device has been disabled.
13 years ago
Con Kolivas
848373d13b
Ensure we test for a pool recovering from idle so long as it's not set to disabled.
13 years ago
Con Kolivas
b85d7b5446
Revert "Perform all common pool initialisation in add_pool()."
...
This reverts commit f8b66bde28
.
Sets pools to dead by mistake at startup.
13 years ago
Con Kolivas
801d9eaa7b
Fix pool number display.
13 years ago
Con Kolivas
233a812f00
Give cgminer -T message only if curses is in use.
13 years ago
Con Kolivas
f8b66bde28
Perform all common pool initialisation in add_pool().
13 years ago
Kano
976e27c4cb
API add getwork stats to cgminer - accesable from API 'stats'
13 years ago
Con Kolivas
46a679f39e
Revert "Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp."
...
This reverts commit 87708a6a0e
.
Broken.
13 years ago
Con Kolivas
c322d9b55e
Don't initialise variables to zero when in global scope since they're already initialised.
13 years ago
Con Kolivas
c8e1026dfb
Get rid of unitialised variable warning when it's false.
13 years ago
Con Kolivas
b3bc506d9a
Move a pool to POOL_REJECTING to be disabled only after 3 minutes of continuous rejected shares.
13 years ago
Con Kolivas
87708a6a0e
Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp.
13 years ago
Kano
5c2bf84a37
Change FPGA detection order since BFL hangs on an ICA
13 years ago
Con Kolivas
4987958e6a
Add a temporarily disabled state for enabled pools called POOL_REJECTING and use the work from each longpoll to help determine when a rejecting pool has started working again.
...
Switch pools based on the multipool strategy once a pool is re-enabled.
13 years ago
ckolivas
376fcd3c02
Fix the benchmark feature by bypassing the new networking code.
13 years ago
ckolivas
4d090a587c
Reset sequential reject counter after a pool is disabled for when it is re-enabled.
13 years ago
Kano
44fc698750
API add last share time to each pool
13 years ago
Con Kolivas
852f6a0eb0
Don't try to reap curls if benchmarking is enabled.
13 years ago
Con Kolivas
f0985f9978
Only show longpoll warning once when it has failed.
13 years ago
Con Kolivas
41d5813d8f
Convert hashes to an unsigned long long as well.
13 years ago
Con Kolivas
a4f1af1733
Detect pools that have issues represented by endless rejected shares and disable them, with a parameter to optionally disable this feature.
13 years ago
Luke Dashjr
068018225c
Bugfix: Use a 64-bit type for hashes_done (miner_thread) since it can overflow 32-bit on some FPGAs
13 years ago
Con Kolivas
5081c1824a
Limit the number of curls we recruit on communication failures and with delaynet enabled to 5 by maintaining a per-pool curl count, and using a pthread conditional that wakes up when one is returned to the ring buffer.
13 years ago
Con Kolivas
d4405de704
Generalise add_pool() functions since they're repeated in add_pool_details.
13 years ago
Luke Dashjr
4ba9006d0e
Disable failing devices such that the user can attempt to re-enable them
13 years ago
ckolivas
5cf4e188fd
Increase pool watch interval to 30 seconds.
13 years ago
ckolivas
85008a7853
Reap curls that are unused for over a minute.
...
This allows connections to be closed, thereby allowing the number of curl handles to always be the minimum necessary to not delay networking.
13 years ago
Con Kolivas
ec3d057016
Use the ringbuffer of curls from the same pool for submit as well as getwork threads.
...
Since the curl handles were already connected to the same pool and are immediately available, share submission will not be delayed by getworks.
13 years ago
Con Kolivas
7d288eac9f
Implement a scaleable networking framework designed to cope with any sized network requirements, yet minimise the number of connections being reoped.
...
Do this by create a ring buffer linked list of curl handles to be used by getwork, recruiting extra handles when none is immediately available.
13 years ago
Con Kolivas
89053c78da
There is no need for the submit and getwork curls to be tied to the pool struct.
13 years ago
ckolivas
adda6e6680
Do not recruit extra connection threads if there have been connection errors to the pool in question.
13 years ago
ckolivas
7638511290
We should not retry submitting shares indefinitely or we may end up with a huge backlog during network outages, so discard stale shares if we failed to submit them and they've become stale in the interim.
13 years ago
Con Kolivas
b015348df4
Shorten stale share messages slightly.
13 years ago
Con Kolivas
7233890d85
Protect the freeing of current_hash under mutex_lock to prevent racing on it when set_curblock is hit concurrently.
13 years ago
Con Kolivas
53c22551f7
Change default behaviour to submitting stale, removing the --submit-stale option and adding a --no-submit-stale option.
13 years ago
Con Kolivas
f9123f0587
Make sure to start the getwork and submit threads when a pool is added on the fly.
13 years ago
Con Kolivas
5ad942d187
Faster hardware can easily outstrip the speed we can get work and submit shares when using only one connection per pool.
...
Test the queued list to see if any get/submits are already queued and if they are, start recruiting extra connections by generating new threads.
This allows us to reuse network connections at low loads but recuit new open connections as they're needed, so that cgminer can scale to hardware of any size.
13 years ago
Con Kolivas
628ac19977
Get rid of confusing "waiting on fresh work" part of longpoll message to minimise log width and add pool number to longpoll work restart message.
13 years ago
Con Kolivas
972860c0af
Remove unused variable.
13 years ago
Con Kolivas
3362a2a447
Give a longpoll message for any longpoll that detects a block change, primary or backup, and also display which pool it was.
13 years ago