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

1108 Commits

Author SHA1 Message Date
Con Kolivas
5a2c2a7a85 Update the hashmeter once per second but only display the extra logs every opt_log_inteval. 2013-03-15 17:56:55 +11:00
Kano
28f515e91d nDevs required for -n with usb 2013-03-15 06:22:22 +11:00
Kano
b21747b978 USB modify -n and --usb-dump to only show known devices or use new --usb-list-all option to see all 2013-03-15 00:02:17 +11:00
Con Kolivas
e9a9a51547 Merge pull request #404 from kanoi/bflsc
cgminer -n to include a USB device list
2013-03-14 04:48:35 -07:00
Con Kolivas
b6e3d5b4fa Make pool adding while running asynchronous, using the pool test thread functionality. 2013-03-14 22:34:53 +11:00
Kano
1c04d14067 cgminer -n to include a USB device list 2013-03-13 23:24:34 +11:00
Con Kolivas
ffc8681f91 Merge pull request #403 from kanoi/bflsc
USB add --usb options to limit USB device selection v0.1 + --usb-dump display brief dump if value = 0
2013-03-12 18:07:17 -07:00
Con Kolivas
b5b3ca4911 Convert gbt_lock to a cg_lock. 2013-03-12 22:44:41 +11:00
Con Kolivas
b8ed231f64 Add intermediate variants of cglocks that can be up or downgraded to read or write locks and use them for stratum work generation. 2013-03-12 22:40:23 +11:00
Con Kolivas
26ddd1fd20 Move the stratum and GBT data to be protected under a new cg_lock data_lock. 2013-03-12 22:31:45 +11:00
Con Kolivas
fd87825bf9 Convert the ch_lock to cg_lock. 2013-03-12 22:17:08 +11:00
Con Kolivas
0bbaaa9723 Convert the control_lock to a cg_lock. 2013-03-12 22:07:06 +11:00
Con Kolivas
74164a3ae6 Remove unused qd_lock. 2013-03-12 22:00:44 +11:00
Kano
6d629d6856 do usb_initialise() after the started message so we see it 2013-03-11 11:52:05 +11:00
Kano
3f50e878a2 USB add --usb options to limit USB device selection v0.1 2013-03-11 10:58:28 +11:00
Con Kolivas
5412323e26 Fix memory leak with share submission on GPU work structures as discovered by twobitcoins. 2013-03-09 15:12:41 +11:00
Kano
f24fab3fd4 Show pool number in switch message 2013-03-09 11:47:36 +11:00
Con Kolivas
e0196a3307 Don't start testing any pools with the watchpool thread if any of the test threads are still active. 2013-03-09 11:33:50 +11:00
Con Kolivas
81c02123f8 Set pool died on failed testing to allow idle flag and time to be set. 2013-03-09 09:56:36 +11:00
Con Kolivas
6c77e9a884 Perform pool_resus on all pools that are found alive with the test pool threads. 2013-03-09 09:39:19 +11:00
Con Kolivas
d932a36c46 Use pool_unworkable in select_balanced as well. 2013-03-09 09:34:01 +11:00
Con Kolivas
90a1114a46 Differentiate pool_unusable from pool_unworkable. 2013-03-09 09:31:40 +11:00
Con Kolivas
3b84131f10 Keep a connection open on higher priority stratum pools to fail back to them. 2013-03-09 09:07:20 +11:00
Con Kolivas
f3ce5777a2 Rename threads according to what pool they're associated with as well. 2013-03-09 08:51:51 +11:00
Con Kolivas
9b34d82154 Set the wrong bool in pool_active 2013-03-09 08:10:57 +11:00
Con Kolivas
de28944328 Revert "Rollback breakage to 81567e515707891837f52bc3aac7d5916dfff5a2"
This reverts commit a8863995de.

This should work now...
2013-03-08 20:52:54 +11:00
ckolivas
8c87807519 Start the stratum thread only if we successfully init and authorise it, otherwise unset the init flag. 2013-03-08 15:32:10 +11:00
ckolivas
e746ed6412 Make the initialisation of the stratum thread more robust allowing the watchpool thread safe access to it after the stratum thread is started. 2013-03-08 15:18:10 +11:00
Con Kolivas
d7c4be30ba Only set stratum auth once to prevent multiple threads being started. 2013-03-07 21:41:01 +11:00
Con Kolivas
3db4d6f0eb Display select return value on select fail in stratum thread. 2013-03-07 21:07:15 +11:00
Con Kolivas
a8863995de Rollback breakage to 81567e5157 2013-03-07 19:00:47 +11:00
Con Kolivas
a5d35e822a Only bypass unusable pools if they're not the selected ones. 2013-03-07 18:44:40 +11:00
Con Kolivas
1468feb0d3 Find the first usable pool in preference to the current pool in select_pool for work. 2013-03-07 18:13:25 +11:00
Con Kolivas
ade8c6c79c Add a pool_unusable function which checks if a pool is stratum but not active to use within switch_pools. 2013-03-07 18:00:15 +11:00
Con Kolivas
81567e5157 Perform pool resus on pools that were not set as the initial pool at startup. 2013-03-07 17:00:23 +11:00
Con Kolivas
c7c21e6c37 Revert "Clear the pool idle flag only on the pool chosen at startup, allowing it to be cleared by the watchpool thread for the other pools."
This reverts commit 370e8fc862.
2013-03-07 16:56:03 +11:00
Con Kolivas
370e8fc862 Clear the pool idle flag only on the pool chosen at startup, allowing it to be cleared by the watchpool thread for the other pools. 2013-03-07 16:49:16 +11:00
Con Kolivas
e501db143d Allow pools to be resuscitated on first startup by the watchpool thread. 2013-03-07 16:45:25 +11:00
Con Kolivas
5221662557 Check all pools simultaneously at startup switching to the first alive one to speed up startup. 2013-03-07 16:39:49 +11:00
Con Kolivas
12553004c5 Do not continue work from a stratum pool where the connection has been interrupted. 2013-03-07 14:40:48 +11:00
Con Kolivas
bba99bd88c Show mechanism of stratum interruption if select times out. 2013-03-07 13:39:00 +11:00
Con Kolivas
011ea64096 Make stratum connection interrupted message higher priority to be visible at normal logging levels. 2013-03-07 12:42:44 +11:00
Con Kolivas
96ae17a466 Merge pull request #398 from kanoi/bflsc
API use control_lock when switching pools + Setup BFLSC support + API add 'Network Difficulty' to 'coin'
2013-03-06 15:51:33 -08:00
Kano
0eafc8b9fe API add 'Network Difficulty' to 'coin' 2013-03-07 07:40:05 +11:00
Kano
540f3e89bc Setup BFLSC support 2013-03-07 00:00:31 +11:00
ckolivas
386ea2dffb Instead of keeping track of when the last work item was generated to keep stratum connections open, keep them open if any shares have been submitted awaiting a response. 2013-03-06 14:34:17 +11:00
Con Kolivas
82fce46633 Merge pull request #395 from kanoi/bflsc
configure - set USE_USBUTILS when usbutils is required and use it in the code
2013-03-05 02:47:19 -08:00
Kano
2f6660e83f configure - set USE_USBUTILS when usbutils is required and use it in the code 2013-03-05 18:33:43 +11:00
Con Kolivas
016f065f69 Clear last pool work on switching pools if the current pool supports local work generation or we are in failover only mode. 2013-03-05 11:16:20 +11:00
Kano
120e9a072d make rw locks: mining_thr_lock and devices_lock 2013-03-04 22:46:34 +11:00
Kano
be8cadbc46 Hotplug - allow setting interval via --hotplug or API 2013-03-04 17:26:11 +11:00
Kano
97cb77d18a curses - fix - put a dev_width inside #ifdef 2013-03-04 14:06:15 +11:00
Kano
e35e8ae135 Implement and use usb_cleanup() on shutdown or restart 2013-03-04 09:45:07 +11:00
Kano
c14f2ec642 API V1.25 - add 'Last Valid Work' time for each device 2013-03-03 19:33:20 +11:00
Kano
cc3869e5ce api -> drv 2013-03-03 16:38:02 +11:00
Con Kolivas
357294a70e Merge branch 'usb-dev' 2013-03-02 17:22:42 +11:00
Con Kolivas
2c3a946cf9 Update a pool's last work time when the work is popped as well as staged. 2013-03-02 16:01:37 +11:00
Con Kolivas
5c32a47b96 Merge pull request #375 from luke-jr/bugfix_cfgwrite_fnleak
Free filename entry for writing config file when done with it
2013-03-01 14:29:20 -08:00
Con Kolivas
52995e2811 Merge pull request #389 from kanoi/bflsc
BFL stop 1st init command if no device + Update diff stale: total and pools when stratum throws away shares
2013-03-01 14:28:02 -08:00
Kano
42a01e7b37 Update diff stale: total and pools when stratum throws away shares 2013-03-01 16:49:08 +11:00
Con Kolivas
b2b0d10a00 Merge branch 'master' into usb-dev 2013-02-28 23:37:06 +11:00
Con Kolivas
b4cac54a7e Keep stratum connections open for 2 minutes after the last work item was staged to allow stray shares to be submitted on pool switching. 2013-02-28 23:35:31 +11:00
Con Kolivas
5abcf06bbe Merge branch 'master' into usb-dev 2013-02-25 10:44:54 +11:00
Con Kolivas
d9d5a1a0b6 Speed up watchdog interval and therefore display updates to 2 seconds. 2013-02-25 10:43:47 +11:00
Con Kolivas
5a3b374962 Update copyright dates. 2013-02-25 08:59:11 +11:00
Con Kolivas
6bf79626b8 Merge branch 'master' into usb-dev 2013-02-23 13:59:37 +11:00
Con Kolivas
d16d4928f7 Fix --benchmark generating valid work for cgminer. 2013-02-22 21:41:47 +11:00
ckolivas
6a0882f05b Use the sessionid as passed on stratum connect to attempt to resume a connection once and then clear it if it fails, to use a new connection. 2013-02-22 16:55:39 +11:00
ckolivas
68d691093c Move to storing the nonce1 in the work struct instead of the sessionid for the now defunct first draft mining.resume protocol. 2013-02-22 12:55:01 +11:00
Con Kolivas
fce5434975 Add a get_queued function for devices to use to retrieve work items from the queued hashtable. 2013-02-18 14:14:10 +11:00
ckolivas
f910476daa Merge branch 'usb-dev' into queued_work 2013-02-17 00:10:59 +11:00
ckolivas
22a50a5a0f Merge branch 'usb-dev' of github.com:ckolivas/cgminer into usb-dev 2013-02-17 00:10:36 +11:00
Con Kolivas
4fdd45af6b Merge pull request #387 from luke-jr/bugfix_20130215b
Bugfix: Duplicate stratum sessionid when copying work, to avoid double-free
2013-02-16 03:51:33 -08:00
Luke Dashjr
0847d45867 Bugfix: Duplicate stratum sessionid when copying work, to avoid double-free 2013-02-16 06:46:00 +00:00
Con Kolivas
fda6d46e95 Add the choice of hash loop to the device driver, defaulting to hash_sole_work if none is specified. 2013-02-16 14:09:44 +11:00
Con Kolivas
254e25ac7f Add comments. 2013-02-16 14:03:40 +11:00
Con Kolivas
c80c65eac0 Add a driver specific flush_work for queued devices that may have work items already queued to abort working on them on the device and discard them. 2013-02-16 12:38:53 +11:00
Con Kolivas
294cda2eb2 Flush queued work on a restart from the hash database and discard the work structs. 2013-02-16 12:35:16 +11:00
Con Kolivas
e8e88beff1 Create a central point for removal of work items completed by queued device drivers. 2013-02-16 12:28:50 +11:00
Con Kolivas
95b2020263 Create a fill_queue function that creates hashtables of as many work items as is required by the device driver till it flags the queue full. 2013-02-16 12:14:13 +11:00
Con Kolivas
5e3253a7cf Create the hash queued work variant for use with devices that are fast enough to require a queue. 2013-02-16 11:54:05 +11:00
Con Kolivas
649f2939f7 Update copyright year. 2013-02-16 09:09:44 +11:00
Con Kolivas
0b83313161 Fix tv_lastupdate being made into tv_end and update the hashmeter on cycle, not opt_log_interval. 2013-02-16 09:08:19 +11:00
Con Kolivas
e414cd055c Fix tv_lastupdate being made into tv_end and update the hashmeter on cycle, not opt_log_interval. 2013-02-16 09:07:33 +11:00
Con Kolivas
ab0cc58cb4 Merge branch 'master' into usb-dev 2013-02-15 23:15:11 +11:00
Con Kolivas
0f7ab3670c Only continue submitting shares with mining.resume support on stratum when the session id matches. 2013-02-15 23:11:13 +11:00
Con Kolivas
be4705a003 Provide support for mining.resume with stratum, currently re-authorising after successful resumption pending finalising of the protocol process. 2013-02-15 23:05:29 +11:00
Con Kolivas
4cde791e9f Provide basic framework for restarting stratum depending on whether resume support exists or not. 2013-02-15 21:31:44 +11:00
Con Kolivas
16c7c983ae Free sessionid in clean_work and remove redundant setting of strings to NULL since the whole work struct is zeroed. 2013-02-15 20:27:07 +11:00
Con Kolivas
8fdf6d5c64 Only clear stratum shares mandatorily on stratum dropouts when the pool does not support resume. 2013-02-15 18:34:54 +11:00
Con Kolivas
f60637c3f9 Try resubmitting stratum shares every 5 seconds for up to 2 minutes if the pool session id exists and matches on failure to submit. 2013-02-15 17:48:13 +11:00
Con Kolivas
7e8019acdd Do as much outside of mutex locking of sshare_lock as possible. 2013-02-15 16:13:24 +11:00
Con Kolivas
7551b88d00 Remove last reference to struct work used outside the sshare_lock in submit_work_thread 2013-02-15 16:09:36 +11:00
Con Kolivas
ebb99e5a8d Unlock the sshare_lock in submit_work_thread when all references to work and sshare are complete. 2013-02-15 16:05:21 +11:00
Con Kolivas
1bf1f4a217 Add timestamps to stratum_share structs as they're generated and copy the stratum sessionid if it exists to stratum work generated. 2013-02-15 15:36:29 +11:00
Con Kolivas
20b5ebbc95 hash_sole_work can be static 2013-02-11 15:28:41 +11:00
Con Kolivas
c28e2238c6 Merge branch 'master' into usb-dev 2013-02-10 13:29:25 +11:00
Con Kolivas
775a1abc06 Keep the unique id of each work item across copy_work to prevent multiple work items having the same id. 2013-02-10 13:28:06 +11:00
Con Kolivas
61a3e1b1d1 Merge pull request #382 from kanoi/hotplug
USB tidy up requests + Hotplug
2013-02-09 02:36:27 -08:00
Con Kolivas
dafc2f775a Abstract out the main hashing loop to allow us to use a separate loop for devices that are fast enough to require queued work. 2013-02-09 21:12:03 +11:00
Con Kolivas
81b84d4f7b Provide a noop thread_enable function for drivers that don't support it. 2013-02-09 19:59:36 +11:00
Con Kolivas
b884d11a23 Provide a noop thread_shutdown function for drivers that don't support it. 2013-02-09 19:56:45 +11:00
Con Kolivas
2c28eefc45 Provide a noop hw_error function for drivers that don't support it. 2013-02-09 19:54:54 +11:00
Con Kolivas
210537198c Provide a noop prepare_work for drivers that don't support it. 2013-02-09 19:52:00 +11:00
Con Kolivas
b9f5b48c08 Provide a noop thread_init for drivers that don't support it. 2013-02-09 19:50:07 +11:00
Con Kolivas
8e12a05b47 Provide a noop can_limit_work for devices that don't support it. 2013-02-09 19:48:11 +11:00
Con Kolivas
5b22f092d9 Provide a noop thread_prepare function for drivers that don't use thread_prepare. 2013-02-09 19:36:38 +11:00
Con Kolivas
5d581cb5d7 Use blank_get_statline_before for GPU devices that don't support adl monitoring. 2013-02-09 19:27:57 +11:00
Con Kolivas
2c3c9e5b55 Provide a noop get_stats function for drivers that don't support it. 2013-02-09 19:25:24 +11:00
Con Kolivas
de48ccca0e Provide a blank get_statline for drivers that don't support it. 2013-02-09 19:22:13 +11:00
Con Kolivas
b3d9477eb7 Provide a blank get_statline_before function for drivers that don't have one. 2013-02-09 18:18:52 +11:00
Con Kolivas
f2380eab4c Fill drivers missing reinit_device with a noop version. 2013-02-09 15:10:10 +11:00
Kano
530e3b0172 hotplug use get_thread() where appropriate 2013-02-08 02:38:37 +11:00
Kano
6fb32f7b5d convert sleep(const) to nmsleep() 2013-02-08 02:32:27 +11:00
Kano
bc5755233c call a separate get_devices() with locking, as required 2013-02-08 02:12:09 +11:00
Kano
983fe2b0c0 usbutils hotplug v0.1 2013-02-08 01:42:36 +11:00
Kano
296eab26b4 Report USB nodev as ZOMBIE on the screen 2013-02-08 01:34:48 +11:00
Con Kolivas
3c91b292a2 Merge branch 'master' into usb-dev 2013-02-07 18:02:38 +11:00
Con Kolivas
3804850141 Do not consider every call to stratum_resumed a pool recovery unless it was actually idle. 2013-02-07 13:51:54 +11:00
Con Kolivas
03dff61e54 Merge branch 'master' into usb-dev 2013-02-05 22:00:23 +11:00
Con Kolivas
73b7d7b0c9 Do not enable the pool disable on reject feature unless explicitly enabled with --disable-rejecting. 2013-02-05 21:47:26 +11:00
Con Kolivas
5c1f3b36d6 Merge branch 'master' into usb-dev 2013-02-05 21:34:58 +11:00
Kano
f52f02e9b7 Stratum disconnect shares - count total against stale 2013-02-05 21:34:39 +11:00
Con Kolivas
ffdcaed49d Use sanity checking to prevent a possible overflow with invalid data being given by the pool for difficulty as reported by luke-Jr. 2013-02-05 21:10:18 +11:00
Con Kolivas
0244998ef8 Merge branch 'master' into usb-dev 2013-02-04 11:23:20 +11:00
Con Kolivas
81025611ac Check for calloc failure for completeness in gen_stratum_work. 2013-02-04 11:22:08 +11:00
Con Kolivas
d644fdf1f4 Cache the coinbase length to speed up stratum work generation. 2013-02-04 11:19:12 +11:00
Con Kolivas
0870ab7532 Cache the header length when generating stratum work to avoid calculating it on every work generation, and to only need one alloc+sprintf, speeding up work generation. 2013-02-04 11:06:05 +11:00
Con Kolivas
5402941691 Use heap ram for coinbase in gen_stratum_work, zeroing it before use. 2013-02-04 10:22:10 +11:00
Con Kolivas
51d11a28f9 Provide a wrapper for aligning lengths of size_t to 4 byte boundaries. 2013-02-04 10:19:12 +11:00
Con Kolivas
5d122cad93 Provide wrappers for grabbing of thr value under the mining_thr_lock. 2013-02-03 23:41:41 +11:00
Con Kolivas
08ece33f7e Merge branch 'master' of https://github.com/kanoi/cgminer into kanoi-usb 2013-02-03 22:51:51 +11:00
Kano
7abf30b2c0 distinguish between drv and it's id enum now called drv_id 2013-02-03 22:51:05 +11:00
Con Kolivas
70b5b84052 Merge branch 'master' of https://github.com/kanoi/cgminer into kanoi-usb 2013-02-03 21:33:12 +11:00
Kano
61ec1fe91f mutex all access to mining_thr 2013-02-02 20:14:55 +11:00
Kano
212f32e5e0 Split thr_info array into control_thr and mining_thr pointers so more mining threads can be added later 2013-02-02 20:14:53 +11:00
Kano
7388942bbd Stratum disconnect shares - count total against stale 2013-02-02 20:14:45 +11:00
Kano
0b3d8c89c2 API zero - zero statistics - all or bestshare - with optional on screen summary 2013-02-02 20:14:27 +11:00
Kano
bad942e59a increase device status string length 2013-02-02 20:14:24 +11:00
Kano
f9e04a3c5b device_drv - allow .name to be changed before add_cgpu() 2013-02-02 20:14:23 +11:00
Kano
a4e95cfa42 device_drv missing drv for cpu and incorrect test 2013-02-02 20:14:20 +11:00
Kano
a344deb6ac rename device_api -> device_drv and all related api -> drv and add a device_drv->drv enum for identifying which driver each is 2013-02-02 20:14:19 +11:00
Kano
7724989d9b diffexactone pool diff1 used for share value calculation is ffffffff... not 100000000... :P 2013-02-02 20:14:17 +11:00
Con Kolivas
7e2b1e80aa Fix memory leak on stratum share submission. 2013-02-02 11:47:25 +11:00
Kano
4c2f26e280 zero (most) API stats 2013-01-02 22:34:05 +11:00
Kano
03f626e68d Remember best share per pool and return in API pools 2013-01-02 21:51:09 +11:00
Con Kolivas
ec9b32aac0 Zero the best share string memory when zeroing stats. 2012-12-31 09:15:17 +11:00
Con Kolivas
6e2e7d36de Differentiate socket full from sock full. 2012-12-29 10:46:55 +11:00
Con Kolivas
7f46f6e91f Allow stratum to startup without notify but check it is valid before creating stratum work. 2012-12-29 10:42:45 +11:00
Con Kolivas
e1d7ecdd35 Do not try to generate stratum work unless the notify command has succeeded. 2012-12-29 09:45:40 +11:00
Con Kolivas
34a6c59a92 Reset total diff1 shares when zeroing stats as well to show correct work utility. 2012-12-27 09:49:22 +11:00
Con Kolivas
8958ee424b Do not give the share submission failure message on planned stratum disconnects. 2012-12-26 09:38:58 +11:00
Con Kolivas
944af31b99 Parse anything in the stratum socket if it's full without waiting. Empty the socket even if a connection is not needed in case there are share returns. 2012-12-26 09:31:41 +11:00
Con Kolivas
dd4e51594b Provide a mechanism to zero all the statistics from the menu. 2012-12-25 23:44:26 +11:00
Con Kolivas
d3bfee14b3 Display the current pool diff in the status line. 2012-12-25 23:14:21 +11:00
Con Kolivas
fedf0f11e4 Display block diff in status line. 2012-12-25 14:53:44 +11:00
Con Kolivas
98151b2ee4 Generalise the code for solving a block to enable block solve detection with scrypt mining. 2012-12-25 14:36:08 +11:00
Con Kolivas
f0c1782c03 Generate the output hash for scrypt as well and use the one function to set share_diff. 2012-12-25 14:08:27 +11:00
Con Kolivas
f86e893118 Use the flip80 function in regeneratehash and the correct sized hash array. 2012-12-24 14:13:28 +11:00
Con Kolivas
93e3c16aa8 Stage work outside of the stgd lock to prevent attempted recursive locking in clone_available. 2012-12-24 13:49:28 +11:00
Con Kolivas
34879487fc share_diff needs to be performed on a BE version of the output hash to work, leading to false best_share values as spotted by luke-Jr. 2012-12-24 13:31:45 +11:00
Con Kolivas
deb9aec0ed Remove the unused sha224 functions. 2012-12-24 12:54:09 +11:00
Con Kolivas
432bfd0e5c Use the flip functions in hashtest. 2012-12-24 12:39:27 +11:00
Con Kolivas
54e218b6d4 Simplify the setting of the nonce data field in work on submitting nonces. 2012-12-24 11:19:33 +11:00
Con Kolivas
69dd5affe3 Scrypt code does not enter the hashtest function. 2012-12-24 10:45:57 +11:00
ckolivas
9fd60bb53a Merge branch 'master' of github.com:ckolivas/cgminer 2012-12-24 10:34:06 +11:00
Con Kolivas
df7370d066 Go back to cloning available work under staged lock. 2012-12-24 10:26:56 +11:00
ckolivas
d91dc188d2 scrypt_diff uses a uint64_t as well. 2012-12-23 15:44:43 +11:00
Con Kolivas
bb64799c84 Correct target for stratum support with scrypt mining. 2012-12-22 08:37:43 +11:00
Con Kolivas
b9c7f3d169 Remove debugging message :P 2012-12-19 21:31:22 +11:00
Con Kolivas
a07e0155bc Stop all work from the current pool if it's a stratum pool once it is disconnected since it will be invalid upon reconnecting. 2012-12-19 20:53:11 +11:00
Con Kolivas
8dbb3fa2f9 Discard all staged work from stratum pools as well as the shares upon disconnection since all the work becomes invalid. 2012-12-19 20:51:22 +11:00
Con Kolivas
a7128e008f Use correct cbreak after 15 second delay when no pool is found alive. 2012-12-19 20:21:32 +11:00
Con Kolivas
4f1f5c8ec9 Revert "Reset lagging flag after it has been used in the getwork scheduler."
This reverts commit 19267907c0.

Redundant.
2012-12-19 20:04:22 +11:00
ckolivas
19267907c0 Reset lagging flag after it has been used in the getwork scheduler. 2012-12-19 14:41:42 +11:00
ckolivas
14457a0b9b Allow stratum to work with scrypt. 2012-12-19 14:41:29 +11:00
Con Kolivas
3b910336ce Protect the best_share/best_diff values under control lock. 2012-12-18 22:48:56 +11:00
Con Kolivas
9ef73d9300 Check a stratum pool hasn't gone dead while being a backup pool and missed having its idle flag cleared. 2012-12-17 12:27:50 +11:00
Kano
43e8b88a73 Benchmark incorrect work size 2012-12-12 19:52:36 +11:00
Con Kolivas
e51ee93182 Set tv_idle time if a pool is not active when input from the menu. 2012-12-10 21:25:17 +11:00
Con Kolivas
70b6287627 Merge pull request #354 from kanoi/api
minor unlikely zero pointer test
2012-12-09 23:58:54 -08:00
Kano
58a7226d96 minor unlikely zero pointer test 2012-12-10 18:42:32 +11:00
Con Kolivas
c3fb1bcef5 Revert "Selectively discard all work items if a longpoll or stratum restart is received without a new block to work on."
This reverts commit 31f75098b5.

Mistake, set in work_block already.
2012-12-10 15:40:16 +11:00
Con Kolivas
1922e498e3 Only stratum pools that are idle need to be kicked via cnx_needed. 2012-12-10 11:03:50 +11:00
Con Kolivas
c5d9f3ac60 Only set the lagging flag for select_pool() on failed getwork if we're not in opt_fail_only mode. 2012-12-10 10:32:21 +11:00
Con Kolivas
383b42f23e Set the pool lagging flag on startup to avoid it being shown initially, and only unset it once the maximum number of staged work items has been reached. 2012-12-09 17:15:13 +11:00
Con Kolivas
8feb302945 Avoid recursive locking of the stgd lock. 2012-12-09 15:38:44 +11:00
Con Kolivas
c59aeb56ff Revert "Wake the getwork scheduler after every restart threads."
This reverts commit 5b03e7497d.

Redundant.
2012-12-09 15:29:06 +11:00
Con Kolivas
31f75098b5 Selectively discard all work items if a longpoll or stratum restart is received without a new block to work on. 2012-12-09 15:28:30 +11:00
Con Kolivas
5b03e7497d Wake the getwork scheduler after every restart threads. 2012-12-09 15:11:49 +11:00
Con Kolivas
01b9c6dfbf Make main() the getwork scheduler once everything is set up, so that all app exits use the kill_work and quit paths. 2012-12-09 08:22:13 +11:00
Con Kolivas
30f6840b5c Only consider work stale for stratum of different job_id if it's not a share. 2012-12-08 22:08:23 +11:00
Con Kolivas
67a9af68a1 Hash_pop should signal further waiters on its own pthread conditional in case there are multiple waiters. 2012-12-08 21:53:06 +11:00
Con Kolivas
5c4c2d6786 Check the job_id has not changed on stratum work when deciding if the work is stale as might occur across disconnections. 2012-12-08 21:45:15 +11:00
Con Kolivas
fcb265322d Perform pool_resus on getwork pool that generates work in getwork_thread. 2012-12-08 21:35:14 +11:00
Con Kolivas
3d1e9f5098 Set pool lagging message for getwork pool that falls to zero staged in getwork thread. 2012-12-08 21:32:49 +11:00
Con Kolivas
927730ae2c Stage extra work when the primary pool is a getwork pool without rolltime. 2012-12-08 21:27:40 +11:00
Con Kolivas
24de9b8655 Do not try to clean up twice if kill message is given. 2012-12-08 21:23:33 +11:00
Con Kolivas
84b44fd852 Only recalculate total_staged in getwork thread if required. 2012-12-08 21:21:19 +11:00
Con Kolivas
b28055517e Implement a completely new getwork scheduler.
Stage all work from the one thread, making it possible to serialise all requests minimising the number of getworks requested or local work generated.
Use a pthread conditional to wake up the thread whenever work is removed to generate enough work to stay above the watermark set by opt_queue.
Remove all remnants of the old queueing mechanism, deleting the now defunct queued count.
2012-12-08 21:13:04 +11:00