Luke Dashjr
d4af2d0535
Turn work_restart array into a bool in thr_info
13 years ago
Paul Sheppard
1ee191a726
limit clear buffer iterations.
13 years ago
Paul Sheppard
54f8554af4
Ad fd check to clear buffer.
13 years ago
Con Kolivas
8b3c20bc06
Abstract out ms to timeval as a function.
13 years ago
Con Kolivas
93a7967ecb
Fix signedness warning.
13 years ago
Paul Sheppard
c4870676c4
Add api stats (sleep time)
13 years ago
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.
13 years ago
Kano
ff0afb94ec
Add API Notify counter 'Comms Error'
13 years ago
Con Kolivas
44726324c2
More style police on bitforce.
13 years ago
Con Kolivas
8783db0dc3
Do all logging outside of the bitforce mutex locking to avoid deadlocks.
13 years ago
Con Kolivas
0f405c7c18
Remove applog call from bfwrite to prevent grabbing nested mutexes.
13 years ago
Con Kolivas
978ec0d805
Bitforce style changes.
13 years ago
Paul Sheppard
ad5b470b04
Fine-tune timing adjustment.
...
Also remove old work_restart timing.
13 years ago
ckolivas
391e1f7eb1
Restart is zeroed in the mining thread so no need to do it inside the bitforce code.
13 years ago
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.
13 years ago
ckolivas
efcce5bbb8
Remove unused tdiff value.
13 years ago
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.
13 years ago
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.
13 years ago
Paul Sheppard
855d1bb3e3
Add busy time to wait time.
13 years ago
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
13 years ago
Paul Sheppard
adc26f0e3f
Add facility to clear BFL read buffer.
...
Reduce timeout to 10s.
13 years ago
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.
13 years ago
Paul Sheppard
f225392990
Add low hash threshold in sick/dead processing
...
Add check for fd in comms procedures
13 years ago
Paul Sheppard
01a7e912c8
Lock comms around entire bitforce_init, and move setting of fd to end.
...
Make sleep occur everytime in scanhash.
13 years ago
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.).
13 years ago
Paul Sheppard
1ef52e0bac
Check for submit_stale before checking for work_restart
...
(to keep Kano happy)
13 years ago
Paul Sheppard
f149aea91e
Redo recover removal.
...
FML.
13 years ago
Paul Sheppard
90d82aa61d
Revert to pre pool merge
13 years ago
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.
13 years ago
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.
13 years ago
Paul Sheppard
68f2aaf930
fix bitforce_init return value
...
Also add filename as kernel name
13 years ago
Kano
4dee0d049c
FPGA - allow device detect override without an open failure
13 years ago
Paul Sheppard
4fd53c9eb1
thread init fix
13 years ago
Paul Sheppard
2ec612e0b4
Added startup delay to worker threads.
...
Prevents devices from making calls at the same time.
13 years ago
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.
13 years ago
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.
13 years ago
Luke Dashjr
d3fa59d76f
Abstract generally useful FPGA code into fpgautils.c
13 years ago
Paul Sheppard
2dd7c4e1c0
Added checking of work_reset while waiting for BFL to return results
13 years ago
Paul Sheppard
820d662c9d
Removed idle mode.
...
Added watchdog thread BFL temperature monitoring.
13 years ago
Paul Sheppard
036a97c21a
Added bitforce init and shutdown.
...
bitforce_init closes/reopens the com port and re-initialises the unit.
13 years ago
Paul Sheppard
ec394533a2
Idle mode for bitforce
13 years ago
Paul Sheppard
ed06c97e2e
Added 30s BFL hashing timeout
13 years ago
Paul Sheppard
652326c2a1
Scanhash split into separate functions
...
Some adjustment of log reporting
13 years ago
Paul Sheppard
8d2936730b
Fix return values
13 years ago
Paul Sheppard
cebd647f50
Messing with BFL code
13 years ago
Paul Sheppard
4db47aa57a
Return error if BFL take longer then 10s
13 years ago
Luke Dashjr
06023e549e
Bugfix: Return failure, rather than quit, if BFwrite fails
13 years ago
Kano
20676694f3
Ensure everyone sees the same screen/api name as the previous version for Bitforce
13 years ago
Luke Dashjr
0f74ba059e
Implement and document "-S noauto" to inhibit autoscanning without specifying a serial device
13 years ago
Luke Dashjr
f05a319e01
CGPU API for device names
13 years ago