1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-01 18:55:36 +00:00
Commit Graph

273 Commits

Author SHA1 Message Date
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