1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-25 22:14:36 +00:00

821 Commits

Author SHA1 Message Date
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 5b03e7497db5cc0cab7d2b788168c2d3f2b0fc87.

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
Con Kolivas
53c9cdaf56 scrypt_diff now returns a uint64_t 2012-12-02 16:56:36 +11:00
Con Kolivas
d8e18994d5 Support monitoring and reporting much higher diffs for scrypt mining, truncating irrelevant zeroes from displayed hash. 2012-12-01 23:36:17 +11:00
Con Kolivas
0ae02c6ec4 Since we will be using calloc_str to put a string into it, convert the function to calloc_strcat which does it automatically. 2012-12-01 08:26:31 +11:00
Con Kolivas
01eb807ca0 Revert "Handle crash exceptions by trying to restart cgminer unless the --no-restart option is used."
This reverts commit 68c881fde72f7aa92224cf4e4ba67a5af868dafc.

Does not reliably restart on crashes often enough and makes debugging more difficult.
2012-11-29 13:00:02 +11:00
Con Kolivas
bc4f6d928a Count longpoll and GBT decodes as queued work since the count otherwise remains static. 2012-11-29 12:58:42 +11:00
Con Kolivas
1746e4714e Use the string helper functions to create gbt blocks of any length. 2012-11-29 12:49:28 +11:00
Con Kolivas
217be6ed98 Do away with the flaky free_work api in the driver code which would often lose the work data in opencl and simply flush it before exiting the opencl scanhash. 2012-11-25 00:37:46 +11:00
Con Kolivas
c34ff36763 Use base_work for comparison just for cleanness in __copy_work 2012-11-24 23:08:14 +11:00
Con Kolivas
73671ab360 Remove all static work structs, using the make and free functions. 2012-11-24 18:45:02 +11:00