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

938 Commits

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