1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-10 14:58:01 +00:00
Commit Graph

617 Commits

Author SHA1 Message Date
Con Kolivas
563feac74e Merge pull request #446 from kanoi/master
Rework logging to mostly avoid using varargs
2013-06-15 20:15:00 -07:00
Kano
7eba963477 remove varargs from logging/quit/in general as much as possible 2013-06-15 22:03:56 +10:00
ckolivas
b8a203ab33 Don't yield when downgrading a cg ilock. 2013-06-15 21:33:12 +10:00
Con Kolivas
736dfb4075 Don't yield on grabbing the read lock variant of cglocks. 2013-06-15 12:35:16 +10:00
Con Kolivas
cd9ff7f6b8 Only display as many device rows as the maximum live existed at any time. 2013-06-15 01:28:00 +10:00
Kano
7ad9132bbe usb lock out use cg locks 2013-06-15 01:02:27 +10:00
Kano
ad30d41f79 usb lock out transfers during open/close 2013-06-14 23:48:03 +10:00
Kano
84ffcbc51b Use mining start time for device MH/U calculations 2013-06-14 01:09:50 +10:00
Con Kolivas
0aeb1b5480 Yield after releasing a lock in case we are on a device with limited CPU resources. 2013-06-13 13:28:48 +10:00
ckolivas
065d4aabf6 Fix build. 2013-06-09 13:29:38 +10:00
ckolivas
9b2e517f30 Use cgsem structures instead of the flaky pings in the work queue to start mining threads and remove the unused thr_info_freeze function. 2013-06-09 12:20:04 +10:00
ckolivas
b59c33800b Implement cgminer specific cgsem semaphores to imitate unnamed semaphore behaviour on osx which does not support them. 2013-06-06 13:08:00 +10:00
ckolivas
05123bf452 Temporarily fix apple not having semtimedop by ignoring the timeout value. 2013-06-05 15:50:30 +10:00
Con Kolivas
727184d6ef Change the --device parameter parsing and configuration to use ranges and comma separated values. 2013-06-03 11:09:36 +10:00
Con Kolivas
cc04d3abc7 Use a counting semaphore to signal the usb resource thread that it has work to do. 2013-05-30 11:01:29 +10:00
Con Kolivas
876e7e5893 Merge branch 'icarus-dev' into usbdev
Conflicts:
	usbutils.h
2013-05-29 00:01:54 +10:00
Con Kolivas
6972ec62a7 Execute driver shutdown sequence during kill_work. 2013-05-28 23:33:32 +10:00
Kano
2f94ec8025 usb separate thread for resource locking and modified windows locking code 2013-05-27 23:30:18 +10:00
Con Kolivas
269a8de977 First pass rewriting serialdev into direct usb dev for avalon driver. 2013-05-27 15:43:22 +10:00
Con Kolivas
44736b3012 Make submit_nonce return a bool for whether it's a valid share or not. 2013-05-26 20:59:40 +10:00
Kano
c9cc7445e5 miner.h remove unused device_file and add device_data 2013-05-20 02:52:07 +10:00
Kano
8fe40e98ba miner.h icarus no long uses fd 2013-05-20 02:46:58 +10:00
Con Kolivas
01fca3e756 Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays. 2013-05-19 21:28:53 +10:00
Con Kolivas
3a2008ac61 Use a persistent single separate thread for stratum share submission that uses workqueues since all stratum sends are serialised. 2013-05-19 11:25:45 +10:00
Con Kolivas
1a7a87c2a6 Use a discrete device target for scrypt that dynamically changes to ensure we still report a work utility even if no shares are submitted such as in solo mining. 2013-05-11 20:29:48 +10:00
Con Kolivas
2fb6637b5a Make set_work_target a function to set a specified char as target for use elsewhere. 2013-05-11 19:51:43 +10:00
Con Kolivas
68196588c9 Make raw sockets compile on windows 2013-05-09 11:39:09 +10:00
Con Kolivas
31aa4f6ceb Use raw sockets without curl for stratum communications. 2013-05-08 21:59:58 +10:00
Con Kolivas
009008ade7 Fix BFLSC building. 2013-04-26 12:00:44 +10:00
Con Kolivas
f4b2790761 Remove all CPU mining code. 2013-04-22 14:35:43 +10:00
Con Kolivas
4597c0a17e Provide endian_flipX functions to avoid special casing big endian in cgminer.c 2013-04-22 09:35:48 +10:00
Con Kolivas
8d81f1d207 Provide a flip128 helper to simplify big endian flipping. 2013-04-22 09:28:06 +10:00
Con Kolivas
c351f8d8d3 Use flip helpers to simplify code for calculation of midstate. 2013-04-22 09:23:13 +10:00
Con Kolivas
62a1403b3b Move util.c exports to util.h 2013-04-21 19:41:54 +10:00
James Z.M. Gao
7ada22a4e6 define le32toh if needed 2013-04-19 09:13:36 +08:00
Con Kolivas
6b714dd431 Increment hardware error count from the one site. 2013-04-18 14:47:46 +10:00
Con Kolivas
dbab07a12d Only reset an avalon device with no results when there are no results consecutively. 2013-04-15 20:30:02 +10:00
Con Kolivas
5c7a32fde8 Rationalise and simplify the share diff and block solve detection to a common site. 2013-04-08 21:26:10 +10:00
Con Kolivas
293b94c7ed Add API support for Avalon. 2013-04-07 01:39:20 +11:00
Con Kolivas
97bad1eef6 Only get extra work in fill_queue if we don't have any unqueued work in the list. 2013-04-06 13:01:42 +11:00
Con Kolivas
67be00e41e Create an array of 4 lots of work for avalon and cycle through them. 2013-04-06 02:25:48 +11:00
Con Kolivas
67c5da49b6 Members of cgpu_info for avalon are not meant to be in the union. 2013-04-05 21:01:42 +11:00
Con Kolivas
71bae003bc First draft of port of avalon driver to new cgminer queued infrastructure. 2013-04-05 14:52:07 +11:00
James Z.M. Gao
c9ae715019 Compile CPU mining for win32 and win64 2013-04-04 22:59:10 +08:00
Kano
f080db5fee generic work structure flags for BFLSC (and usable by other drivers if needed) 2013-04-02 09:50:05 +11:00
Kano
ea327f7ba2 work queues - remove new but unnecessary functions 2013-04-01 13:10:15 +11:00
Kano
73616fb810 miner.h missing extern 2013-04-01 00:38:19 +11:00
Kano
131e20042a functions for handling work queues 2013-04-01 00:35:50 +11:00
Kano
b3ae0f168e find_work() to find work in devices work queue 2013-03-31 21:54:32 +11:00
Kano
956d444054 avalon usbutils requirements 2013-03-21 15:25:10 +11:00
Con Kolivas
13e19de4d5 Calculate work utility for devices that support target diffs of greater than 1, and update scrypt code to use it. 2013-03-17 10:15:24 +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
b6e3d5b4fa Make pool adding while running asynchronous, using the pool test thread functionality. 2013-03-14 22:34:53 +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
ckolivas
18fc2df483 Implement cg_lock write biased rwlocks. 2013-03-11 13:23:51 +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
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
c618d868cc Remove unused pthread_t typedefs from struct pool. 2013-03-09 09:43:40 +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
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
Kano
419083a7d2 API use control_lock when switching pools 2013-03-06 21:19:02 +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
Kano
2f6660e83f configure - set USE_USBUTILS when usbutils is required and use it in the code 2013-03-05 18:33:43 +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
c14f2ec642 API V1.25 - add 'Last Valid Work' time for each device 2013-03-03 19:33:20 +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
6bf79626b8 Merge branch 'master' into usb-dev 2013-02-23 13:59:37 +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
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
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
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
ab0cc58cb4 Merge branch 'master' into usb-dev 2013-02-15 23:15:11 +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
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
c851f39598 Store session id for stratum if the pool supports it for future mining.resume support. 2013-02-15 14:46:30 +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
5d581cb5d7 Use blank_get_statline_before for GPU devices that don't support adl monitoring. 2013-02-09 19:27:57 +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
Con Kolivas
0244998ef8 Merge branch 'master' into usb-dev 2013-02-04 11:23:20 +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
5d122cad93 Provide wrappers for grabbing of thr value under the mining_thr_lock. 2013-02-03 23:41:41 +11:00
Kano
7abf30b2c0 distinguish between drv and it's id enum now called drv_id 2013-02-03 22:51:05 +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
7fbc3770b4 USB move usbdev info that needs to stay around into usbinfo 2013-02-02 20:14:36 +11:00