1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-17 18:20:51 +00:00

1286 Commits

Author SHA1 Message Date
Con Kolivas
a5f7b953fe Set lagging flag if we're on the last of our staged items. 2012-08-18 10:37:05 +10:00
Con Kolivas
ee9e621e1c Reinstate clone on grabbing work. 2012-08-18 10:37:05 +10:00
Con Kolivas
55f7c14982 Grab clones from hashlist wherever possible first. 2012-08-18 10:37:05 +10:00
Con Kolivas
c3e32274ee Cull all the early queue requests since we request every time work is popped now. 2012-08-18 10:37:05 +10:00
Con Kolivas
0fbd60ae37 Keep track of staged rollable work item counts to speed up clone_available. 2012-08-18 10:37:05 +10:00
Con Kolivas
83b9ddfea4 Make expiry on should_roll to 2/3 time instead of share duration since some hardware will have very fast share times. 2012-08-18 10:37:05 +10:00
Con Kolivas
8697d6a2ce Do the cheaper comparison first. 2012-08-18 10:37:05 +10:00
Con Kolivas
381c56f811 Check that we'll get 1 shares' worth of work time by rolling before saying we should roll the work. 2012-08-18 10:37:05 +10:00
Con Kolivas
afcfea15a7 Simplify all those total_secs usages by initialising it to 1 second. 2012-08-18 10:37:05 +10:00
Con Kolivas
5fadfdb219 Overlap queued decrementing with staged incrementing. 2012-08-18 10:37:05 +10:00
Con Kolivas
9f1d9ce3b7 Artificially set the pool lagging flag on pool switch in failover only mode as well. 2012-08-18 10:37:05 +10:00
Con Kolivas
a6b97327e1 Artificially set the pool lagging flag on work restart to avoid messages about slow pools after every longpoll. 2012-08-18 10:37:05 +10:00
Con Kolivas
44e81218fd Factor in opt_queue value into enough work queued or staged. 2012-08-18 10:37:05 +10:00
Con Kolivas
611f1cec7c Roll work whenever we can on getwork. 2012-08-18 10:37:05 +10:00
Con Kolivas
fd0be1bb51 Queue requests for getwork regardless and test whether we should send for a getwork from the getwork thread itself. 2012-08-18 10:37:04 +10:00
Con Kolivas
7d77c01619 Get rid of age_work(). 2012-08-18 10:37:04 +10:00
Con Kolivas
d1508bd40e Merge pull request #296 from kanoi/api
API allow display/change failover-only setting (API v1.16)
2012-08-14 14:45:34 -07:00
Kano
95dff7363e API allow display/change failover-only setting 2012-08-14 12:54:27 +10:00
Con Kolivas
8e20456bc0 Check we are not lagging as well as there is enough work in getwork. 2012-08-14 09:13:59 +10:00
Con Kolivas
00691ababf Merge pull request #292 from kanoi/main
Escape " and \ when writing json config file
2012-08-11 20:42:05 -07:00
Con Kolivas
d66742a8c1 Minimise locking and unlocking when getting counts by reusing shared mutex lock functions. 2012-08-12 11:04:51 +10:00
Con Kolivas
c91a95459b Avoid getting more work if by the time the getwork thread is spawned we find ourselves with enough work. 2012-08-12 10:55:18 +10:00
Con Kolivas
f27bcb8ee5 Going back to e68ecf5eb275e1cc2dc22c7db35b0bd8d9c799de 2012-08-12 10:45:59 +10:00
Con Kolivas
c892ded6e0 Make sure there are true pending staged work items as well in failover only mode. 2012-08-12 10:40:58 +10:00
Con Kolivas
61003df49f In failover-only mode we need to queue enough work for the local pool and ignore the total queued count. 2012-08-12 10:33:26 +10:00
Con Kolivas
8aa61f6626 Make sure we have work from the current pool somewhere in the queue in case the queue is full of requests from a pool that has just died. 2012-08-11 16:47:49 +10:00
Con Kolivas
c0aaf56a8d Since all the counts use the same mutex, grab it only once. 2012-08-11 16:11:53 +10:00
Con Kolivas
4f9394be81 When popping work, grab cloned work first if possible since original work can be reused to make further clones. 2012-08-11 14:39:35 +10:00
Con Kolivas
8085ae6854 Further simplify the queue request mechanism. 2012-08-11 14:04:55 +10:00
Con Kolivas
f83863a996 Keep total queued count as a fake pending staged count to account for the period a queue is in flight before it is staged. 2012-08-11 13:30:41 +10:00
Con Kolivas
e47dc87355 Clone work at the time of requesting it if an existing work item can be rolled. 2012-08-10 21:44:15 +10:00
Con Kolivas
e68ecf5eb2 Queue one request for each staged request removed, keeping the staged request count optimal at all times. 2012-08-10 20:18:04 +10:00
Kano
52e5524d7f Escape " and \ when writing json config file 2012-08-09 18:01:35 +10:00
ckolivas
3dd1658e1f We may as well leave one curl still available per pool instead of reaping the last one. 2012-08-07 12:10:01 +10:00
ckolivas
c7bcad653b Need to recheck the pool->curls count on regaining the pool lock after the pthread conditional wait returns. 2012-08-07 11:59:54 +10:00
ckolivas
ad8c4b7755 Revert "Only add to the pool curlring and increment the counter under mutex lock."
This reverts commit 8897e0657507072448f4e951ce1caadca15b4b30.

Wrong fix. Recursive locking now.
2012-08-07 11:52:37 +10:00
ckolivas
145f04ccc7 Display reaped debug message outside mutex lock to avoid recursive locking. 2012-08-07 11:10:59 +10:00
ckolivas
8897e06575 Only add to the pool curlring and increment the counter under mutex lock. 2012-08-07 11:05:23 +10:00
Con Kolivas
25fd6cd0fd Correct writing of scrypt parameters to config file based on command line parameters only. 2012-08-05 15:35:37 +10:00
Con Kolivas
ac131d3138 Merge pull request #279 from tyeken8/tydus
Add scrypt support while writing conf
2012-08-04 22:34:47 -07:00
Con Kolivas
7611499b11 Queue a request on pool switch in case we have no work from the new pool yet. 2012-08-05 14:57:46 +10:00
Con Kolivas
4efa31d2e7 Display failover only mode in pool menu and allow it to be toggled live. 2012-08-05 14:44:11 +10:00
Con Kolivas
1a041668a5 Reinstate check for system queueing lag when the current pool's queue is maxed out, there is no staged work, and the work is needed now. 2012-08-05 14:37:49 +10:00
Con Kolivas
499c594cba There is no need for pool active testing to be mandatory any more with queue request changes. 2012-08-05 14:29:21 +10:00
Con Kolivas
e4326e3ca2 Fix harmless warnings. 2012-08-05 14:24:31 +10:00
Con Kolivas
9a45a6d993 Check the current staged and global queued as well before queueing requests.
Discard stales before ageing work in the watchdog thread.
Queue requests after discarding and ageing work in watchdog thread.
Display accurate global queued in curses output.
Reuse variable in age_work().
2012-08-05 14:19:49 +10:00
Con Kolivas
bf9c324752 The queueing mechanism has become a complex state machine that is no longer predictable. Rewrite it from scratch watching only current queues in flight and staged work available on a pool by pool basis. 2012-08-05 13:40:46 +10:00
Con Kolivas
b66e0241f7 Queue an extra request whenever staged work drops below mining thread count in hash_pop. 2012-08-04 09:52:18 +10:00
Con Kolivas
b70ec3cb66 Merge pull request #283 from kanoi/icarus
ICA support 57600 baud rate, up to 8 FPGA and partial working FPGA boards
2012-08-02 17:17:53 -07:00
Con Kolivas
15dc4bb320 Scrypt mining does not support block testing yet so don't try to print it. 2012-08-03 10:10:53 +10:00