Con Kolivas
6e2c12eeb0
When using rotate pool strategy, ensure we only select from alive enabled pools.
2012-06-14 16:11:29 +10:00
Con Kolivas
79f4b570f7
Start longpoll from every pool when load balance strategy is in use.
2012-06-14 15:58:18 +10:00
Con Kolivas
dbe9056df4
Add mandatory and block fields to the work struct. Flag any shares that are detected as blocks as mandatory to submit, along with longpoll work from a previously rejecting pool.
2012-06-14 15:42:43 +10:00
Luke Dashjr
4eb23c7ea3
Bugfix: slay a variety of warnings
2012-06-13 17:03:26 +00:00
Luke Dashjr
a78d616bc5
modminer: Temperature sensor improvements
...
Display the temperature of each of the (up to) 4 FPGAs
2012-06-12 17:04:03 +00:00
Luke Dashjr
76f96f4717
New driver: BTCFPGA ModMiner
2012-06-12 02:38:36 +00:00
Luke Dashjr
d3fa59d76f
Abstract generally useful FPGA code into fpgautils.c
2012-06-12 02:35:45 +00:00
Kano
fdcd72b9ae
API add stats for pool getworks
2012-06-10 11:19:21 +10:00
Kano
3cb3f09a50
API save default config file if none specified
2012-05-31 23:18:55 +10:00
Con Kolivas
84064a2b1e
Must unlock mutex within loop.
2012-05-31 19:25:33 +10:00
Con Kolivas
85bddde1c0
Must unlock mutex after waking up on pthread conditional.
2012-05-31 19:20:40 +10:00
Con Kolivas
598476cae1
Merge pull request #204 from kanoi/icarus-timer
...
Icarus: high accuracy timing and other bitstream speed support
2012-05-30 18:02:00 -07:00
Con Kolivas
624948e246
Open a longpoll connection if a pool is in the REJECTING state as it's the only way to re-enable it automatically.
2012-05-31 09:44:51 +10:00
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.
2012-05-31 09:40:32 +10:00
Con Kolivas
5c3a252b6d
Merge branch 'master' of github.com:ckolivas/cgminer
2012-05-31 08:42:46 +10:00
Con Kolivas
85210ee7a8
If shares are known stale, don't use them to decide to disable a pool for sequential rejects.
2012-05-31 08:41:56 +10:00
Kano
17b6f111a6
Icarus: make --icarus-timing hidden and document it in FPGA-README
2012-05-16 23:53:13 +10:00
Kano
b5ed958e84
Icarus: high accuracy timing and other bitstream speed support
2012-05-16 22:25:21 +10:00
Xiangfu
9414fa7c18
work_decode only needs swab32 on midstate under BIG ENDIAN
2012-05-11 12:15:30 +08:00
Kano
c2e2e7e437
save config bugfix: writing an extra ',' when no gpus
2012-05-07 20:23:20 +10:00
Con Kolivas
61696c072c
In the unlikely event of finding a block, display the block solved count with the pool it came from for auditing.
2012-05-06 16:22:18 +10:00
Con Kolivas
6282dfb405
Display the device summary on exit even if a device has been disabled.
2012-05-06 16:15:20 +10:00
Con Kolivas
848373d13b
Ensure we test for a pool recovering from idle so long as it's not set to disabled.
2012-05-06 14:24:50 +10:00
Con Kolivas
b85d7b5446
Revert "Perform all common pool initialisation in add_pool()."
...
This reverts commit f8b66bde28
.
Sets pools to dead by mistake at startup.
2012-05-06 14:17:48 +10:00
Con Kolivas
801d9eaa7b
Fix pool number display.
2012-05-06 14:13:39 +10:00
Con Kolivas
233a812f00
Give cgminer -T message only if curses is in use.
2012-05-06 13:30:27 +10:00
Con Kolivas
f8b66bde28
Perform all common pool initialisation in add_pool().
2012-05-06 13:27:17 +10:00
Con Kolivas
85c9e0c4b6
Merge pull request #198 from kanoi/stats
...
API add getwork stats to cgminer - accesable from API 'stats' - and devices can add stats also
2012-05-05 06:38:30 -07:00
Kano
976e27c4cb
API add getwork stats to cgminer - accesable from API 'stats'
2012-05-05 15:04:15 +10:00
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.
2012-05-05 12:55:00 +10:00
Con Kolivas
c322d9b55e
Don't initialise variables to zero when in global scope since they're already initialised.
2012-05-05 09:40:46 +10:00
Con Kolivas
c8e1026dfb
Get rid of unitialised variable warning when it's false.
2012-05-05 09:37:33 +10:00
Con Kolivas
b3bc506d9a
Move a pool to POOL_REJECTING to be disabled only after 3 minutes of continuous rejected shares.
2012-05-05 09:31:48 +10:00
Con Kolivas
87708a6a0e
Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp.
2012-05-04 23:05:00 +10:00
Kano
5c2bf84a37
Change FPGA detection order since BFL hangs on an ICA
2012-05-04 22:18:31 +10:00
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.
2012-05-04 20:10:38 +10:00
Con Kolivas
d5eb6650e2
Merge pull request #193 from kanoi/master
...
API add last share time to each pool + Correct Icarus U: & MH/s
2012-05-04 02:43:56 -07:00
ckolivas
376fcd3c02
Fix the benchmark feature by bypassing the new networking code.
2012-05-04 13:10:18 +10:00
ckolivas
4d090a587c
Reset sequential reject counter after a pool is disabled for when it is re-enabled.
2012-05-04 12:51:32 +10:00
Kano
44fc698750
API add last share time to each pool
2012-05-04 00:13:42 +10:00
Con Kolivas
852f6a0eb0
Don't try to reap curls if benchmarking is enabled.
2012-05-03 22:39:12 +10:00
Con Kolivas
f0985f9978
Only show longpoll warning once when it has failed.
2012-05-03 16:25:07 +10:00
Con Kolivas
41d5813d8f
Convert hashes to an unsigned long long as well.
2012-05-03 15:37:29 +10:00
Con Kolivas
a4f1af1733
Detect pools that have issues represented by endless rejected shares and disable them, with a parameter to optionally disable this feature.
2012-05-03 15:35:13 +10:00
Luke Dashjr
068018225c
Bugfix: Use a 64-bit type for hashes_done (miner_thread) since it can overflow 32-bit on some FPGAs
2012-05-02 23:24:07 -04:00
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.
2012-05-03 10:49:42 +10:00
Con Kolivas
d4405de704
Generalise add_pool() functions since they're repeated in add_pool_details.
2012-05-03 10:49:42 +10:00
Luke Dashjr
4ba9006d0e
Disable failing devices such that the user can attempt to re-enable them
2012-05-03 10:49:42 +10:00
ckolivas
5cf4e188fd
Increase pool watch interval to 30 seconds.
2012-05-03 10:49:42 +10:00
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.
2012-05-03 10:48:05 +10:00
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.
2012-05-03 10:47:15 +10:00
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.
2012-05-03 10:41:57 +10:00
Con Kolivas
89053c78da
There is no need for the submit and getwork curls to be tied to the pool struct.
2012-05-01 19:12:37 +10:00
ckolivas
adda6e6680
Do not recruit extra connection threads if there have been connection errors to the pool in question.
2012-05-01 17:48:23 +10:00
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.
2012-05-01 09:54:34 +10:00
Con Kolivas
b015348df4
Shorten stale share messages slightly.
2012-04-29 10:08:12 +10:00
Con Kolivas
7233890d85
Protect the freeing of current_hash under mutex_lock to prevent racing on it when set_curblock is hit concurrently.
2012-04-29 10:03:01 +10:00
Con Kolivas
53c22551f7
Change default behaviour to submitting stale, removing the --submit-stale option and adding a --no-submit-stale option.
2012-04-29 09:12:23 +10:00
Con Kolivas
f9123f0587
Make sure to start the getwork and submit threads when a pool is added on the fly.
2012-04-29 08:55:59 +10:00
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.
2012-04-29 00:56:23 +10:00
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.
2012-04-28 14:00:34 +10:00
Con Kolivas
972860c0af
Remove unused variable.
2012-04-28 13:36:27 +10:00
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.
2012-04-28 13:31:27 +10:00
Con Kolivas
e1cf5029d4
Decrease utility display to one decimal place.
2012-04-28 12:22:23 +10:00
Con Kolivas
7b370bb2e7
Small cosmetic output alignment.
2012-04-28 09:19:32 +10:00
Con Kolivas
669b0deda3
Add pool number to stale share message.
2012-04-28 08:39:06 +10:00
Con Kolivas
03fab3f438
Remove thread id display from rejected shares as well.
2012-04-28 00:16:34 +10:00
Con Kolivas
86e94edb89
Set have_longpoll to true when there is at least one pool with longpoll.
2012-04-27 15:47:21 +10:00
Con Kolivas
0365878ac5
Don't display the thread ID since it adds no useful information over the device number.
2012-04-27 15:30:42 +10:00
Con Kolivas
08c721080d
Don't display the first 8 bytes of a share since they will always be zero at >= 1 difficulty.
2012-04-27 15:29:31 +10:00
Con Kolivas
501e35a0e6
work->longpoll is reset across test_work_current so we need to recheck what pool it belongs to.
2012-04-27 14:02:29 +10:00
Con Kolivas
03abb70467
Use longpolls from backup pools with failover-only enabled just to check for block changes, but don't use them as work.
2012-04-27 13:59:43 +10:00
Con Kolivas
1ab318d0f3
Start longpoll only after we have tried to extract the longpoll URL.
2012-04-27 13:11:19 +10:00
Con Kolivas
b1c273e71b
Check for submitold flag on resubmit of shares, and give different message for stale shares on retry.
2012-04-27 12:54:29 +10:00
Con Kolivas
5ece966f07
Check for submitold before submitstale.
2012-04-27 12:47:13 +10:00
Con Kolivas
ed718b2b50
Don't force fresh curl connections on anything but longpoll threads.
2012-04-27 12:28:51 +10:00
Con Kolivas
eda382990a
Create one longpoll thread per pool, using backup pools for those pools that don't have longpoll.
...
Use the work created from the longpoll return only if we don't have failover-enabled, and only flag the work as a longpoll if it is the current pool.
This will work around the problem of trying to restart the single longpoll thread on pool changes that was leading to race conditions.
It will also have less work restarts from the multiple longpolls received from different pools.
2012-04-27 11:58:47 +10:00
Con Kolivas
e502fde52b
Remove the ability to disable longpoll. It is not a useful feature and will conflict with planned changes to longpoll code.
2012-04-27 11:13:52 +10:00
Con Kolivas
8e84abfc22
Merge pull request #184 from luke-jr/bugfix_const_warning
...
Bugfix: Make initial_args a const char** to satisfy exec argument type warning (MinGW)
2012-04-26 17:36:19 -07:00
Con Kolivas
8d8f4ff856
Merge pull request #182 from kanoi/master
...
api.c 'devdetails' list static details of devices + ZTex ++
2012-04-26 16:38:17 -07:00
Luke Dashjr
90c5ef1fa7
Bugfix: Make initial_args a const char** to satisfy exec argument type warning (on Windows only)
2012-04-26 14:58:31 -04:00
Con Kolivas
4cd973264f
Create discrete persistent submit and get work threads per pool, thus allowing all submitworks belonging to the same pool to reuse the same curl handle, and all getworks to reuse their own handle.
...
Use separate handles for submission to not make getwork potentially delay share submission which is time critical.
This will allow much more reusing of persistent connections instead of opening new ones which can flood routers.
This mandated a rework of the extra longpoll support (for when pools are switched) and this is managed by restarting longpoll cleanly and waiting for a thread join.
2012-04-26 23:29:21 +10:00
Kano
b3ac249e71
cgminer.c sharelog code consistency and compile warning fix
2012-04-26 00:20:16 +10:00
Luke Dashjr
4648330c9d
Support for share logging
2012-04-25 12:05:33 +10:00
Con Kolivas
f5f089f5b4
Add a --gpu-map option which will allow arbitrarily mapping ADL devices to OpenCL devices for instances where association by enumeration alone fails.
2012-04-23 17:40:47 +10:00
Con Kolivas
99331991ba
Increase upper limit on number of extra items to queue as some FPGA code can't yet reliably keep many devices busy.
2012-04-23 09:53:40 +10:00
Con Kolivas
d6edd07c4a
Display configuration file information when -c option is passed and only when file exists on loading default config file.
2012-04-22 21:09:36 +10:00
Con Kolivas
6ffdbc3aeb
Display configuration file loaded, if any, and debug output if configuration file parsing failed.
2012-04-22 20:50:50 +10:00
Con Kolivas
cfe3eb0b8a
Merge branch 'master' into ztex
...
Conflicts:
configure.ac
2012-04-22 10:43:31 +10:00
Luke Dashjr
0d92069760
Merge branch 'master' into align_temps
...
Conflicts:
cgminer.c
2012-04-21 03:32:57 -04:00
Luke Dashjr
657716e563
Merge branch 'master' into ztex
2012-04-21 02:56:20 -04:00
Con Kolivas
7b947882fe
Merge pull request #157 from luke-jr/unify_drivers
...
Unify drivers as driver-*.c and add driver name to API
2012-04-20 23:41:46 -07:00
Con Kolivas
86671f80a8
Make the status window and log window as large as can fit on startup, rechecking to see if it can be enlarged after the fact. This allows any number of devices to be displayed provided the window is made long enough without corrupting the output.
2012-04-21 16:39:14 +10:00
Luke Dashjr
b8778839e9
Merge branch 'master' into unify_drivers
...
Conflicts:
cgminer.c
2012-04-21 02:36:19 -04:00
Con Kolivas
c7cc2e4226
Merge branch 'master' into ztex
2012-04-21 14:03:41 +10:00
Con Kolivas
e08936c3fb
Merge pull request #166 from kanoi/master
...
api.c escape required characters in return strings + pools returns the username
2012-04-20 15:00:39 -07:00
Kano
2e1d2017de
API add removepool like the screen interface
2012-04-21 03:15:41 +10:00
Con Kolivas
46faefbe82
Merge branch 'ztex-master' of https://github.com/nelisky/cgminer into ztex
2012-04-20 21:20:03 +10:00
ckolivas
b80d22b9d2
Increase maximum number of displayed devices to 14, beyond which the screen becomes corrupted.
2012-04-20 14:24:58 +10:00
nelisky
7fe7d18dba
removing unused libusb_context pointer
2012-04-16 14:14:52 -07:00