cgminer.c


Log

Author Commit Date CI Message
Con Kolivas 70b62876 2012-12-09T23:58:54 Merge pull request #354 from kanoi/api minor unlikely zero pointer test
Kano 58a7226d 2012-12-10T18:42:32 minor unlikely zero pointer test
Con Kolivas c3fb1bce 2012-12-10T15:40:16 Revert "Selectively discard all work items if a longpoll or stratum restart is received without a new block to work on." This reverts commit 31f75098b51465c885dc36b49b29b2d82dd216e3. Mistake, set in work_block already.
Con Kolivas 1922e498 2012-12-10T11:03:50 Only stratum pools that are idle need to be kicked via cnx_needed.
Con Kolivas c5d9f3ac 2012-12-10T10:32:21 Only set the lagging flag for select_pool() on failed getwork if we're not in opt_fail_only mode.
Con Kolivas 383b42f2 2012-12-09T17:15:13 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.
Con Kolivas 8feb3029 2012-12-09T15:38:44 Avoid recursive locking of the stgd lock.
Con Kolivas c59aeb56 2012-12-09T15:29:06 Revert "Wake the getwork scheduler after every restart threads." This reverts commit 5b03e7497db5cc0cab7d2b788168c2d3f2b0fc87. Redundant.
Con Kolivas 31f75098 2012-12-09T15:28:30 Selectively discard all work items if a longpoll or stratum restart is received without a new block to work on.
Con Kolivas 5b03e749 2012-12-09T15:11:49 Wake the getwork scheduler after every restart threads.
Con Kolivas 01b9c6df 2012-12-09T08:22:13 Make main() the getwork scheduler once everything is set up, so that all app exits use the kill_work and quit paths.
Con Kolivas 30f6840b 2012-12-08T22:08:23 Only consider work stale for stratum of different job_id if it's not a share.
Con Kolivas 67a9af68 2012-12-08T21:53:06 Hash_pop should signal further waiters on its own pthread conditional in case there are multiple waiters.
Con Kolivas 5c4c2d67 2012-12-08T21:45:15 Check the job_id has not changed on stratum work when deciding if the work is stale as might occur across disconnections.
Con Kolivas fcb26532 2012-12-08T21:35:14 Perform pool_resus on getwork pool that generates work in getwork_thread.
Con Kolivas 3d1e9f50 2012-12-08T21:32:49 Set pool lagging message for getwork pool that falls to zero staged in getwork thread.
Con Kolivas 927730ae 2012-12-08T21:27:40 Stage extra work when the primary pool is a getwork pool without rolltime.
Con Kolivas 24de9b86 2012-12-08T21:23:33 Do not try to clean up twice if kill message is given.
Con Kolivas 84b44fd8 2012-12-08T21:21:19 Only recalculate total_staged in getwork thread if required.
Con Kolivas b2805551 2012-12-08T21:13:04 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.
Con Kolivas dd658182 2012-12-07T13:45:03 Remove all references to the now unused workio_cmd structure.
Con Kolivas ed1b5cae 2012-12-07T13:40:26 Remove the old workio command queue thread, replacing it with a kill conditional to exit the program.
Con Kolivas 59ddfd07 2012-12-07T13:32:23 Remove getwork command from workio_cmd queues and do them directly from queue_request.
Con Kolivas c99636f2 2012-12-07T13:21:46 Begin tearing down the old workio command queues by removing submit commands from there and submit them asynchronously via their own threads.
Con Kolivas c0cd006f 2012-12-04T21:49:11 Allow pool active to be called on stratum or disabled pools in the watchpool thread if the pool has not been probed.
Con Kolivas 52b4bae9 2012-12-04T21:29:49 Combine shared padding into one char.
Con Kolivas e14d1d6e 2012-12-04T00:18:10 Merge pull request #340 from kanoi/main lock the threaded statistics updates
Kano 120fc7af 2012-12-04T19:14:27 lock (most of) the threaded statistics updates
ckolivas b86aa20b 2012-12-04T11:06:35 Make need connection return true if a pool is idle.
Con Kolivas 777f0573 2012-12-03T04:19:17 Merge pull request #339 from kanoi/api API lock access to some summary statistics + API add Best Share to summary
Kano e55fe73f 2012-12-03T23:08:11 API add Best Share to summary
Con Kolivas c4b17ae9 2012-12-03T17:54:57 Check on creating new GBT work if the structures are up to date and update them as required rather than regularly.
Con Kolivas 401357e6 2012-12-03T16:45:43 Enable backup stratum connections for getwork when the primary pool doesn't have longpoll aka solo mining.
Con Kolivas 289d6807 2012-12-03T16:16:00 Check for correct absence of opt_fail_only in cnx_needed.
Con Kolivas 4b28c859 2012-12-03T15:28:52 Remove unused variable.
Con Kolivas f4d305a9 2012-12-03T15:26:58 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.
Con Kolivas 1ad671b0 2012-12-03T15:17:44 Use a variable length string array in submit_upstream_work to cope with massive GBT submissions.
Kano a67e96c3 2012-12-03T11:36:15 API lock access to some summary statistics (and copy them)
Con Kolivas fc5d3a0e 2012-12-03T09:52:46 Suspend stratum connections to backup pools when there is no requirement to potentially grab work from them.
Con Kolivas 9a716547 2012-12-02T12:46:01 Merge pull request #338 from denis2342/threadname small patch to add names to threads, should work for linux, freebsd and osx
Denis Ahrens 4fbdc1ea 2012-12-02T18:36:15 enumerate the mining threadnames
Kano 152e7e36 2012-12-02T21:48:37 mmq usb v0.4 + api usb stats
Denis Ahrens 271b05ab 2012-12-02T11:39:20 setting the name of the threads for linux,freebsd,openbsd and osx code is borrowed from bitcoins util.c, so it is already tested
Con Kolivas 4584068c 2012-12-02T20:51:21 Don't show broken WU value with scrypt mining.
Con Kolivas b8843546 2012-12-02T20:45:57 Remove unused getwork times in getswork.
Con Kolivas cc14f166 2012-12-02T19:29:54 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.
Con Kolivas f94cff77 2012-12-02T18:06:55 Microoptimise and remove redundant copy of strdup function in calloc_strcat.
Con Kolivas 53c9cdaf 2012-12-02T16:56:36 scrypt_diff now returns a uint64_t
Con Kolivas d8e18994 2012-12-01T23:36:17 Support monitoring and reporting much higher diffs for scrypt mining, truncating irrelevant zeroes from displayed hash.
Con Kolivas 0ae02c6e 2012-12-01T08:26:31 Since we will be using calloc_str to put a string into it, convert the function to calloc_strcat which does it automatically.
Con Kolivas 01eb807c 2012-11-29T13:00:02 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.
Con Kolivas bc4f6d92 2012-11-29T12:58:42 Count longpoll and GBT decodes as queued work since the count otherwise remains static.
Con Kolivas 1746e471 2012-11-29T12:49:28 Use the string helper functions to create gbt blocks of any length.
Con Kolivas 217be6ed 2012-11-25T00:37:46 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.
Con Kolivas c34ff367 2012-11-24T23:08:14 Use base_work for comparison just for cleanness in __copy_work
Con Kolivas 73671ab3 2012-11-24T18:45:02 Remove all static work structs, using the make and free functions.
Con Kolivas 3ab92ef6 2012-11-24T13:35:00 Add pool no. to stale share detected message.
Con Kolivas 850d07df 2012-11-24T12:58:58 Add info about which pool share became stale while resubmitting.
Con Kolivas 31e43944 2012-11-24T10:58:46 Do not use or count or use the getworks submitted which are simply testing that pools are still up. This was increasing share leakage and making stats not reflect real work.
Con Kolivas 2d35ac25 2012-11-24T10:47:20 Track all dynamically allocated memory within the work struct by copying work structs in a common place, creating freshly allocated heap ram for all arrays within the copied struct. Clear all work structs from the same place to ensure memory does not leak from arrays within the struct. Convert the gbt coinbase and stratum strings within the work struct to heap ram. This will allow arbitrary lengths without an upper limit for the strings, preventing the overflows that happen with GBT.
Con Kolivas aa72db36 2012-11-18T23:04:01 Provide rudimentary support for the balancing failover strategies with stratum and GBT by switching pools silently on getwork requests.
Con Kolivas 40a3331e 2012-11-18T22:27:03 Remove unintentional block of code in reuse_work.
Con Kolivas 9ad02fe3 2012-11-18T21:48:44 Support workid for block submission on GBT pools that use it.
Con Kolivas 61f4e9d6 2012-11-18T17:22:48 Revert "Discard all work on longpoll, not just work cgminer recognises as stale." This reverts commit 1470eea903266fc5cef8e722859dca55ae460183. Work block update makes this unnecessary.
Con Kolivas f14bf5b1 2012-11-17T22:06:49 Merge pull request #326 from pshep/error_counters Error counters
Con Kolivas 4039ee7a 2012-11-18T16:53:39 Convert pool not responding and pool alive message on backup pools to verbose level only since they mean a single failed getwork.
Con Kolivas 52b86b51 2012-11-18T16:38:24 Update work block on the longpoll work item before calling restart threads to ensure all work but the longpoll work item gets discarded when we call discard_stale from restart_threads.
Con Kolivas 1470eea9 2012-11-18T15:54:14 Discard all work on longpoll, not just work cgminer recognises as stale.
Con Kolivas 88983306 2012-11-18T15:50:04 Do not attempt to remove the stratum share hash after unsuccessful submission since it may already be removed by clear_stratum_shares.
Con Kolivas d15515be 2012-11-15T13:09:00 Check against a double for current pool diff.
Con Kolivas b3864d1a 2012-11-15T09:18:58 Support for fractional diffs and the classic just-below-1 share all FFs diff target.
Con Kolivas 1832dbd7 2012-11-11T22:57:48 Make header larger on gen stratum work to accomodate \0 at the end.
Con Kolivas 66a95771 2012-11-11T21:47:31 Fix mistaken disabling of opt_restart in other code.
Con Kolivas 89cb1419 2012-11-11T20:53:27 Use stratum block change from backup pools as an alternative to longpoll for pools that don't support LP.
Con Kolivas 38eb4ee4 2012-11-11T18:09:46 Check share target diff for best_share to be calculated when solo mining.
Con Kolivas 7993095e 2012-11-11T17:53:20 Round some more static string arrays to 4 byte boundaries.
Con Kolivas 17aa87be 2012-11-11T17:37:58 There is no need for the static arrays to be larger than required, so long as they're 4 byte aligned to appease ARM.
Con Kolivas 149781cf 2012-11-11T17:14:55 Revert "Change default log interval to 3 seconds for faster screen refreshes since vardiff will prevent massive on screen hash updates in the future." This reverts commit f1f6b31faff2cca9a111407c28d4bf9af28284aa. Screen update frequency is what I wanted to change, not the log interval.
Con Kolivas 298ffcbc 2012-11-11T17:14:24 Store the full stratum url information in rpc_url for correct configuration file saving.
Con Kolivas 2cf0767c 2012-11-11T16:33:20 Put in a hack to prevent dud work from sneaking into test_work_current being seen as a new block.
Con Kolivas ad2ed57f 2012-11-11T16:30:09 Reset the work->longpoll flag where it will affect stratum work items as well.
Con Kolivas 1d7e19f2 2012-11-11T16:10:45 Check for both coinbase/append and submit/coinbase support before using GBT protocol.
Con Kolivas 878f4d53 2012-11-11T16:05:39 First pass through testing for GBT should not set probed to true since we are about to probe again.
Con Kolivas 598ee76d 2012-11-11T09:51:37 Hash1 is only used by the deprecated cpu mining code and never changes so remove it from the work struct and bypass needing to process the value for all other mining.
Con Kolivas f1f6b31f 2012-11-07T23:32:01 Change default log interval to 3 seconds for faster screen refreshes since vardiff will prevent massive on screen hash updates in the future.
Con Kolivas 6893c0be 2012-11-07T23:28:49 Get a work item once per second for all getwork and GBT pools to test they're still alive and to maintain a current GBT template.
Paul Sheppard dad6c704 2012-11-06T09:46:05 Merge branch 'master' into error_counters
Con Kolivas dd671baa 2012-11-06T17:42:49 Get a fresh block template with GBT pools on switching to them.
Con Kolivas be82cc7f 2012-11-06T14:01:32 Reset work flags to prevent GBT shares from being submitted as stratum ones after switching.
Con Kolivas a47a7886 2012-11-06T11:39:25 Only retarget stratum shares to new pool diff if diff has dropped.
Con Kolivas 498882d8 2012-11-06T10:39:34 Remove resetting of probed variable when detecting GBT.
Con Kolivas 27ce497a 2012-11-06T09:50:36 Count lost stratum share submits and increase message priority to warning.
Con Kolivas 418d15de 2012-11-06T09:43:55 Only retrieve a new block template for GBT pools that are the current pool.
Paul Sheppard 69f341c5 2012-11-05T08:01:15 Remove errant counter.
Con Kolivas 75d0a45a 2012-11-05T23:47:44 Show which pool untracked share messages have come from.
Con Kolivas e0157208 2012-11-05T23:44:00 Add management for dead GBT pools.
Con Kolivas 9ebc321c 2012-11-05T23:34:58 Merge branch 'master' into gbt
Con Kolivas ffb8a29a 2012-11-05T23:25:36 Count lost shares with stratum as submit stale lost.
Con Kolivas 0465fef5 2012-11-05T23:22:36 Discard record of stratum shares sent and report lost shares on disconnection since they will never be reported back.
Con Kolivas 03140811 2012-11-05T22:12:27 Swab, don't just swap the bytes in the GBT target.