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

150 Commits

Author SHA1 Message Date
Paul Sheppard
953ecd9e6a Change timeouts to time-vals for accuracy. 2012-07-08 23:25:02 -07:00
Paul Sheppard
6c3d331869 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 2012-07-08 22:36:42 -07:00
Con Kolivas
2ce7f28bbc Merge pull request #254 from luke-jr/work_restart2
Turn work_restart array into a bool in thr_info
2012-07-08 04:24:55 -07:00
Paul Sheppard
19b4d2b9de More BFL tweaks.
Add delay between closing and reopening port.
Remove buffer clear in re-init
Add kernel type (mini-rig or single)
2012-07-06 11:57:53 -07:00
Con Kolivas
957d196180 Make long timeout 10seconds on bitforce for when usleep or nanosleep just can't be accurate... 2012-07-06 20:23:26 +10:00
Con Kolivas
57e38d059e Make disabling BFL nonce range support a warning since it has to be explicitly enabled on the command line now. 2012-07-06 18:41:25 +10:00
Con Kolivas
fd55fab96a Make bitforce nonce range support a command line option --bfl-range since enabling it decrease hashrate by 1%. 2012-07-06 16:54:00 +10:00
Con Kolivas
b8484956e6 Add sanity checking to make sure we don't make sleep_ms less than 0 in bitforce. 2012-07-06 16:46:39 +10:00
Luke Dashjr
d4af2d0535 Turn work_restart array into a bool in thr_info 2012-07-06 05:13:05 +00:00
Con Kolivas
e97adc91c3 The fastest minirig devices need a significantly smaller starting sleep time. 2012-07-06 15:09:39 +10:00
Con Kolivas
74b96d4b3f Use a much shorter initial sleep time to account for faster devices and nonce range working, and increase it if nonce range fails to work. 2012-07-06 15:05:38 +10:00
Con Kolivas
13cf568961 Use nmsleep instead of usleep in bitforce. 2012-07-06 15:03:31 +10:00
Con Kolivas
390d77a202 Add more comments explaining how sleep time equals wait time and simplify the
comparison.
2012-07-06 10:41:08 +10:00
Con Kolivas
69a11508a4 delay_time_ms is always set so need not be initialised in bitforce. 2012-07-06 10:35:18 +10:00
Con Kolivas
9e8726b109 Increase bitforce timeout to 10 seconds. 2012-07-06 10:09:02 +10:00
Con Kolivas
a3faf63c96 Add more hysteresis and poll ~5 times to allow for timer delays in bitforce devices. 2012-07-06 09:54:27 +10:00
Con Kolivas
afc6ae58a5 Change message about broken nonce range support to verbose level instead of debug. 2012-07-05 22:42:04 +10:00
Con Kolivas
86ba7d79df Display the actual duration of wait when it is greater than the cutoff. 2012-07-05 22:39:41 +10:00
Con Kolivas
5a096c1c13 Set nonce to maximum once we determine nonce range support is broken. 2012-07-05 22:39:11 +10:00
Con Kolivas
88dd599f34 Initial wait time is always known so no need to zero it beforehand in bitforce. 2012-07-05 22:33:21 +10:00
Con Kolivas
1b0a0ac5db No point counting wait time until the work is actually sent to bitforce devices. 2012-07-05 22:32:05 +10:00
Con Kolivas
c0c480609d Use string comparison functions elsewhere in bitforce code. 2012-07-05 21:51:42 +10:00
Con Kolivas
d4e526c9fe Use string comparison functions instead of explicit comparisons. 2012-07-05 21:29:06 +10:00
Con Kolivas
23841337dc Show device id in debug when disabling nonce range. 2012-07-05 20:47:43 +10:00
Con Kolivas
9e10a6c016 Account for wait_ms time when nonce_range is in use on BFL. 2012-07-05 20:42:19 +10:00
Con Kolivas
9d9963b088 Split nonces up into 1/5 chunks when nonce range is supported. 2012-07-05 17:15:18 +10:00
Con Kolivas
274a40115e Merge branch 'master' into mr 2012-07-05 16:45:05 +10:00
Paul Sheppard
1ee191a726 limit clear buffer iterations. 2012-07-04 23:31:42 -07:00
Paul Sheppard
2aa95ab812 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 2012-07-04 18:48:27 -07:00
Paul Sheppard
54f8554af4 Ad fd check to clear buffer. 2012-07-04 18:46:41 -07:00
Con Kolivas
72777f1f38 Disable nonce range support in BFL when broken support is detected. 2012-07-05 09:34:20 +10:00
Con Kolivas
96183bbdf4 Minor bfl tidy. 2012-07-05 09:21:46 +10:00
Con Kolivas
75eca07823 Restart_wait is only called with a ms value so incorporate that into the function. 2012-07-05 09:15:21 +10:00
Con Kolivas
e5aba76042 Fix off-by-one error in nonce increment in bfl. 2012-07-05 00:40:01 +10:00
Con Kolivas
ba5c1fc07d Use BE when setting nonce in bitforce nonce range work. 2012-07-05 00:22:42 +10:00
Con Kolivas
d6a6d70f4b Set work blk nonce after work is queued to prevent duplicates. 2012-07-05 00:18:58 +10:00
Con Kolivas
870ba0c70e Revert "Loop in bitforce scanhash till end nonce reaches full nonce range."
This reverts commit e10aa2092b.
2012-07-05 00:17:35 +10:00
Con Kolivas
e10aa2092b Loop in bitforce scanhash till end nonce reaches full nonce range. 2012-07-05 00:14:04 +10:00
Con Kolivas
1f2e9a49f4 Enable nonce range in the normal init sequence for bfl. 2012-07-05 00:08:33 +10:00
Con Kolivas
8766bca4d4 Queue extra work at 2/3 differently depending on whether we're using nonce range or not. 2012-07-04 23:57:54 +10:00
Con Kolivas
6314a12b31 Initially enable support for nonce range support on bfl, splitting nonces up into 3/4 size and only disable it if it fails on work submit. 2012-07-04 23:53:55 +10:00
Con Kolivas
96fba30b6b Attempt to detect nonce range support in BFL by sending work requring its support. 2012-07-04 17:31:02 +10:00
Con Kolivas
a9746b9f5e Limit retrying on busy for up to BITFORCE_TIMEOUT_MS 2012-07-04 16:58:08 +10:00
Con Kolivas
7046c976bc Attempt to initialise while bitforce device returns BUSY. 2012-07-04 16:51:55 +10:00
Con Kolivas
ac8db06e46 Extend length of string that can be passed to BFL devices. 2012-07-04 16:41:28 +10:00
Con Kolivas
8b3c20bc06 Abstract out ms to timeval as a function. 2012-07-04 16:28:51 +10:00
Con Kolivas
93a7967ecb Fix signedness warning. 2012-07-04 15:22:05 +10:00
Paul Sheppard
c4870676c4 Add api stats (sleep time) 2012-07-03 10:40:02 -07:00
Paul Sheppard
6e6029de99 Timing tweaks
Added long and short timeouts, short for detecting throttling, long to give up totally.
Reset sleep time when device re-initialised
Still check results after timeout
Back up a larger time if result on first poll.
2012-07-03 10:22:11 -07:00
Kano
ff0afb94ec Add API Notify counter 'Comms Error' 2012-07-03 13:14:30 +10:00
Con Kolivas
44726324c2 More style police on bitforce. 2012-07-03 11:09:33 +10:00
Con Kolivas
8783db0dc3 Do all logging outside of the bitforce mutex locking to avoid deadlocks. 2012-07-03 11:01:57 +10:00
Con Kolivas
0f405c7c18 Remove applog call from bfwrite to prevent grabbing nested mutexes. 2012-07-03 10:59:37 +10:00
Con Kolivas
978ec0d805 Bitforce style changes. 2012-07-03 10:58:30 +10:00
Paul Sheppard
ad5b470b04 Fine-tune timing adjustment.
Also remove old work_restart timing.
2012-07-02 14:27:19 -07:00
Paul Sheppard
ce850883e7 Merge branch 'master' of git://github.com/ckolivas/cgminer.git
Conflicts:
	driver-bitforce.c
2012-07-01 23:39:09 -07:00
Paul Sheppard
cc0ad5eaa7 Merge branch 'master' of git://github.com/ckolivas/cgminer.git
Conflicts:
	driver-bitforce.c
2012-07-01 23:35:06 -07:00
ckolivas
391e1f7eb1 Restart is zeroed in the mining thread so no need to do it inside the bitforce code. 2012-07-02 16:13:53 +10:00
Paul Sheppard
04a6c3b188 More improvements to comms.
BFL return nothing when throttling, so should not be considered an error. Instead repeat with a longer delay.
2012-07-01 21:47:18 -07:00
ckolivas
efcce5bbb8 Remove unused tdiff value. 2012-07-02 11:30:20 +10:00
ckolivas
b1cdacdead Polling every 10ms there's not much point checking the pthread_cond_timedwait as it just adds overhead. Simply check the value of work_restart in the bfl main polling loop. 2012-07-02 11:28:26 +10:00
ckolivas
fd7b21ed56 Use a pthread conditional that is broadcast whenever work restarts are required. Create a generic wait function waiting a specified time on that conditional that returns if the condition is met or a specified time passed to it has elapsed. Use this to do smarter polling in bitforce to abort work, queue more work, and check for results to minimise time spent working needlessly. 2012-07-02 10:54:20 +10:00
Paul Sheppard
855d1bb3e3 Add busy time to wait time. 2012-07-01 17:35:53 -07:00
Paul Sheppard
a11a322ba6 Add tiny delay after writing to BFL
Change BFL errors to something more human readable
Send work busy re-tries after 10ms delay
2012-06-30 20:45:08 -07:00
Paul Sheppard
adc26f0e3f Add facility to clear BFL read buffer.
Reduce timeout to 10s.
2012-06-29 17:20:57 -07:00
Paul Sheppard
75a651c13f Revert "Check for submit_stale before checking for work_restart"
Makes no sense to continue working on the old block whether submit_stale is enabled or not.
2012-06-28 16:08:10 -07:00
Paul Sheppard
f225392990 Add low hash threshold in sick/dead processing
Add check for fd in comms procedures
2012-06-28 08:20:45 -07:00
Paul Sheppard
01a7e912c8 Lock comms around entire bitforce_init, and move setting of fd to end.
Make sleep occur everytime in scanhash.
2012-06-27 08:25:25 -07:00
Paul Sheppard
d3e2b62c54 Change sick/dead processing to use device pointer, not gpu array.
Change BFL timing to adjust only when hashing complete (not error/idle etc.).
2012-06-26 14:45:48 -07:00
Paul Sheppard
1ef52e0bac Check for submit_stale before checking for work_restart
(to keep Kano happy)
2012-06-25 19:23:10 -07:00
Paul Sheppard
f149aea91e Redo recover removal.
FML.
2012-06-25 10:33:18 -07:00
Paul Sheppard
90d82aa61d Revert to pre pool merge 2012-06-25 10:27:08 -07:00
Paul Sheppard
50e996c753 Get rid of recover mode. Not useful at all.
Change zero hash to no start error. Neither is accurate, but zero hash makes less sense than no start.
2012-06-25 10:01:34 -07:00
Paul Sheppard
e037028159 Merge branch 'master' of https://github.com/ckolivas/cgminer.git
Conflicts:
	driver-bitforce.c
2012-06-19 10:40:00 -07:00
Paul Sheppard
9bc95ab30b Comms error trapping
Comms error will not disable the device permanently but put it in to
recovery mode. Here it will attempt to be re-initialised after 60s.
2012-06-19 10:36:24 -07:00
Paul Sheppard
68f2aaf930 fix bitforce_init return value
Also add filename as kernel name
2012-06-15 16:43:05 -07:00
Kano
4dee0d049c FPGA - allow device detect override without an open failure 2012-06-14 15:10:02 +00:00
Paul Sheppard
4fd53c9eb1 thread init fix 2012-06-14 00:04:37 -07:00
Paul Sheppard
2ec612e0b4 Added startup delay to worker threads.
Prevents devices from making calls at the same time.
2012-06-13 17:26:37 -07:00
Paul Sheppard
1b63a75d2c Simple auto sleep-time calibration.
Optimises the sleep time while waiting for the BFL work to finish.
Takes ~5 mins to settle to the correct time for each unit, then will continue to make adjustments.
2012-06-13 12:26:03 -07:00
Paul Sheppard
2384d0fbc6 Removed idle mode... again!?
Changed work_reset rate to every 100ms & use defines rather than numerics.
Change total sleep time to 4300ms after performance testing/measurement (now good to 916MH/s).
Changed timeout to 15s - Throttle time is 15s.
Added support for 'Busy' when submitting work.
Improved logging text to include device identifier.
Added a thread_enable api function, called when a thread is re-enabled.
... and removed useless re-init inside scanhash.
Use modminer introduced mutex.
2012-06-12 18:20:18 -07:00
Paul Sheppard
861388f960 Merge branch 'master' of https://github.com/ckolivas/cgminer.git 2012-06-12 09:04:42 -07:00
Luke Dashjr
d3fa59d76f Abstract generally useful FPGA code into fpgautils.c 2012-06-12 02:35:45 +00:00
Paul Sheppard
2dd7c4e1c0 Added checking of work_reset while waiting for BFL to return results 2012-06-11 13:17:59 -07:00
Paul Sheppard
4889d7ecb2 Merge branch 'master' of git@github.com:pshep/cgminer.git
Conflicts:
	driver-bitforce.c
2012-06-11 13:09:27 -07:00
Paul Sheppard
820d662c9d Removed idle mode.
Added watchdog thread BFL temperature monitoring.
2012-06-10 23:11:59 -07:00
Paul Sheppard
036a97c21a Added bitforce init and shutdown.
bitforce_init closes/reopens the com port and re-initialises the unit.
2012-06-09 20:03:18 -07:00
Paul Sheppard
ec394533a2 Idle mode for bitforce 2012-06-09 19:47:54 -07:00
Paul Sheppard
ed06c97e2e Added 30s BFL hashing timeout 2012-06-09 19:12:29 -07:00
Paul Sheppard
652326c2a1 Scanhash split into separate functions
Some adjustment of log reporting
2012-06-09 19:08:10 -07:00
Paul Sheppard
8d2936730b Fix return values 2012-05-22 15:35:10 -07:00
Paul Sheppard
cebd647f50 Messing with BFL code 2012-05-22 08:10:00 -07:00
Paul Sheppard
4db47aa57a Return error if BFL take longer then 10s 2012-05-18 17:41:18 -07:00
Luke Dashjr
06023e549e Bugfix: Return failure, rather than quit, if BFwrite fails 2012-05-03 10:49:42 +10:00
Kano
20676694f3 Ensure everyone sees the same screen/api name as the previous version for Bitforce 2012-04-23 18:07:13 +10:00
Luke Dashjr
0f74ba059e Implement and document "-S noauto" to inhibit autoscanning without specifying a serial device 2012-04-22 01:03:38 -04:00
Luke Dashjr
b8778839e9 Merge branch 'master' into unify_drivers
Conflicts:
	cgminer.c
2012-04-21 02:36:19 -04:00
Luke Dashjr
f05a319e01 CGPU API for device names 2012-03-18 21:32:01 -04:00
Luke Dashjr
303dbf4664 Abstract add_cgpu function, to handle device id numbering and devices array 2012-03-18 20:09:03 -04:00
Luke Dashjr
e131dfab31 Unify drivers as driver-*.c and add driver name to API 2012-03-13 12:18:23 -04:00