1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 15:27:53 +00:00
Commit Graph

780 Commits

Author SHA1 Message Date
Con Kolivas
9ef73d9300 Check a stratum pool hasn't gone dead while being a backup pool and missed having its idle flag cleared. 2012-12-17 12:27:50 +11:00
Kano
43e8b88a73 Benchmark incorrect work size 2012-12-12 19:52:36 +11:00
Con Kolivas
e51ee93182 Set tv_idle time if a pool is not active when input from the menu. 2012-12-10 21:25:17 +11:00
Con Kolivas
70b6287627 Merge pull request #354 from kanoi/api
minor unlikely zero pointer test
2012-12-09 23:58:54 -08:00
Kano
58a7226d96 minor unlikely zero pointer test 2012-12-10 18:42:32 +11:00
Con Kolivas
c3fb1bcef5 Revert "Selectively discard all work items if a longpoll or stratum restart is received without a new block to work on."
This reverts commit 31f75098b5.

Mistake, set in work_block already.
2012-12-10 15:40:16 +11:00
Con Kolivas
1922e498e3 Only stratum pools that are idle need to be kicked via cnx_needed. 2012-12-10 11:03:50 +11:00
Con Kolivas
c5d9f3ac60 Only set the lagging flag for select_pool() on failed getwork if we're not in opt_fail_only mode. 2012-12-10 10:32:21 +11:00
Con Kolivas
383b42f23e Set the pool lagging flag on startup to avoid it being shown initially, and only unset it once the maximum number of staged work items has been reached. 2012-12-09 17:15:13 +11:00
Con Kolivas
8feb302945 Avoid recursive locking of the stgd lock. 2012-12-09 15:38:44 +11:00
Con Kolivas
c59aeb56ff Revert "Wake the getwork scheduler after every restart threads."
This reverts commit 5b03e7497d.

Redundant.
2012-12-09 15:29:06 +11:00
Con Kolivas
31f75098b5 Selectively discard all work items if a longpoll or stratum restart is received without a new block to work on. 2012-12-09 15:28:30 +11:00
Con Kolivas
5b03e7497d Wake the getwork scheduler after every restart threads. 2012-12-09 15:11:49 +11:00
Con Kolivas
01b9c6dfbf Make main() the getwork scheduler once everything is set up, so that all app exits use the kill_work and quit paths. 2012-12-09 08:22:13 +11:00
Con Kolivas
30f6840b5c Only consider work stale for stratum of different job_id if it's not a share. 2012-12-08 22:08:23 +11:00
Con Kolivas
67a9af68a1 Hash_pop should signal further waiters on its own pthread conditional in case there are multiple waiters. 2012-12-08 21:53:06 +11:00
Con Kolivas
5c4c2d6786 Check the job_id has not changed on stratum work when deciding if the work is stale as might occur across disconnections. 2012-12-08 21:45:15 +11:00
Con Kolivas
fcb265322d Perform pool_resus on getwork pool that generates work in getwork_thread. 2012-12-08 21:35:14 +11:00
Con Kolivas
3d1e9f5098 Set pool lagging message for getwork pool that falls to zero staged in getwork thread. 2012-12-08 21:32:49 +11:00
Con Kolivas
927730ae2c Stage extra work when the primary pool is a getwork pool without rolltime. 2012-12-08 21:27:40 +11:00
Con Kolivas
24de9b8655 Do not try to clean up twice if kill message is given. 2012-12-08 21:23:33 +11:00
Con Kolivas
84b44fd852 Only recalculate total_staged in getwork thread if required. 2012-12-08 21:21:19 +11:00
Con Kolivas
b28055517e Implement a completely new getwork scheduler.
Stage all work from the one thread, making it possible to serialise all requests minimising the number of getworks requested or local work generated.
Use a pthread conditional to wake up the thread whenever work is removed to generate enough work to stay above the watermark set by opt_queue.
Remove all remnants of the old queueing mechanism, deleting the now defunct queued count.
2012-12-08 21:13:04 +11:00
Con Kolivas
dd65818295 Remove all references to the now unused workio_cmd structure. 2012-12-07 13:45:03 +11:00
Con Kolivas
ed1b5cae0d Remove the old workio command queue thread, replacing it with a kill conditional to exit the program. 2012-12-07 13:40:26 +11:00
Con Kolivas
59ddfd07a7 Remove getwork command from workio_cmd queues and do them directly from queue_request. 2012-12-07 13:32:23 +11:00
Con Kolivas
c99636f21b Begin tearing down the old workio command queues by removing submit commands from there and submit them asynchronously via their own threads. 2012-12-07 13:21:46 +11:00
Con Kolivas
c0cd006f42 Allow pool active to be called on stratum or disabled pools in the watchpool thread if the pool has not been probed. 2012-12-04 21:49:11 +11:00
Con Kolivas
52b4bae961 Combine shared padding into one char. 2012-12-04 21:29:49 +11:00
Con Kolivas
e14d1d6e2a Merge pull request #340 from kanoi/main
lock the threaded statistics updates
2012-12-04 00:18:10 -08:00
Kano
120fc7aff9 lock (most of) the threaded statistics updates 2012-12-04 19:14:27 +11:00
ckolivas
b86aa20bf6 Make need connection return true if a pool is idle. 2012-12-04 11:06:35 +11:00
Con Kolivas
777f0573c3 Merge pull request #339 from kanoi/api
API lock access to some summary statistics + API add Best Share to summary
2012-12-03 04:19:17 -08:00
Kano
e55fe73f9a API add Best Share to summary 2012-12-03 23:08:11 +11:00
Con Kolivas
c4b17ae918 Check on creating new GBT work if the structures are up to date and update them as required rather than regularly. 2012-12-03 17:54:57 +11:00
Con Kolivas
401357e657 Enable backup stratum connections for getwork when the primary pool doesn't have longpoll aka solo mining. 2012-12-03 16:45:43 +11:00
Con Kolivas
289d6807ef Check for correct absence of opt_fail_only in cnx_needed. 2012-12-03 16:16:00 +11:00
Con Kolivas
4b28c8595b Remove unused variable. 2012-12-03 15:28:52 +11:00
Con Kolivas
f4d305a9cd The specification for stratum has been elaborated to say that a changed diff applies only to new work so do not retarget when submitting shares. 2012-12-03 15:26:58 +11:00
Con Kolivas
1ad671b094 Use a variable length string array in submit_upstream_work to cope with massive GBT submissions. 2012-12-03 15:17:44 +11:00
Kano
a67e96c3e4 API lock access to some summary statistics (and copy them) 2012-12-03 11:36:15 +11:00
Con Kolivas
fc5d3a0eaf Suspend stratum connections to backup pools when there is no requirement to potentially grab work from them. 2012-12-03 09:52:46 +11:00
Con Kolivas
9a71654761 Merge pull request #338 from denis2342/threadname
small patch to add names to threads, should work for linux, freebsd and osx
2012-12-02 12:46:01 -08:00
Denis Ahrens
4fbdc1eaa8 enumerate the mining threadnames 2012-12-02 18:36:15 +01:00
Kano
152e7e36a2 mmq usb v0.4 + api usb stats 2012-12-02 21:48:37 +11:00
Denis Ahrens
271b05ab04 setting the name of the threads for linux,freebsd,openbsd and osx
code is borrowed from bitcoins util.c, so it is already tested
2012-12-02 11:39:20 +01:00
Con Kolivas
4584068c67 Don't show broken WU value with scrypt mining. 2012-12-02 20:51:21 +11:00
Con Kolivas
b8843546e3 Remove unused getwork times in getswork. 2012-12-02 20:45:57 +11:00
Con Kolivas
cc14f16670 Make gen_stratum_work more robust by using a dynamically allocated array for the header in case bogus data is sent by the pool to avoid overflowing a static array. 2012-12-02 19:29:54 +11:00
Con Kolivas
f94cff77e6 Microoptimise and remove redundant copy of strdup function in calloc_strcat. 2012-12-02 18:06:55 +11:00