cgminer.c


Log

Author Commit Date CI Message
ckolivas f71d635f 2012-08-21T17:02:11 Free work before retrying in get_work_thread.
Con Kolivas b3cfe472 2012-08-20T22:24:28 Increment total work counter under mutex lock.
Con Kolivas e8daf1d8 2012-08-20T12:45:07 Increment the queued count after the curl is popped in case there's a delay waiting on curls and we think we've queued work when in fact we're waiting on curls.
Con Kolivas 08948e02 2012-08-20T13:33:08 Increase curl reaping time to 5 minutes since comms between curl requests can be 2 mins apart with lots of rolltime.
Con Kolivas 51d485e2 2012-08-20T12:31:43 No need for extra variable in hash_push.
Con Kolivas c01284fb 2012-08-20T11:58:05 Remove short options -r and -R to allow them to be reused and remove readme entries for deprecated options.
Con Kolivas 8fc701dd 2012-08-20T11:18:37 Deprecate the opt_fail_pause parameter, leaving a null placeholder for existing configurations.
Con Kolivas 35cb7fd1 2012-08-20T11:16:38 Don't pause after failed getwork, set lagging flag and reassess.
Con Kolivas 69d8c339 2012-08-20T11:08:56 Add message to share if it's a resubmit.
Con Kolivas b622e97e 2012-08-20T11:03:28 We should not be pausing in trying to resubmit shares.
Con Kolivas a9278ce9 2012-08-20T11:00:10 Get rid of the extending fail pause on failed connects since we discard work after a period.
Con Kolivas 34b8dcb7 2012-08-20T10:58:12 get_work always returns true so turn it into a void function.
Con Kolivas 260b1c87 2012-08-20T10:54:59 get_work never returns false so get rid of fail pause loop.
Con Kolivas 4df9c387 2012-08-20T10:53:42 Get rid of pause and retry from get_upstream_work so we only do it from one place.
Con Kolivas 1f295cd7 2012-08-20T10:43:50 Deprecate the opt_retries feature as no one wants cgminer to automatically abort. Leave a null placeholder for configurations that still have it.
Con Kolivas f6d2853c 2012-08-18T19:53:43 Summary layout difference.
Con Kolivas ed3eb577 2012-08-18T15:44:48 Introduce a new statistic, Work Utility, which is the number of difficulty 1 shares solved per minute. This is useful for measuring a relative rate of work that is independent of reject rate and target difficulty.
Con Kolivas 26ab7346 2012-08-18T15:27:53 Implement a new pool strategy, BALANCE, which monitors work performed per pool as a rolling average every 10 minutes to try and distribute work evenly over all the pools. Do this by monitoring diff1 solutions to allow different difficulty target pools to be treated equally, along with solo mining. Update the documentation to describe this strategy and more accurately describe the load-balance one.
Con Kolivas d8c76bbd 2012-08-18T11:26:11 Getwork fail was not being detected. Remove a vast amount of unused variables and functions used in the old queue request mechanism and redefine the getfail testing.
Con Kolivas 8fa70809 2012-08-18T11:07:32 Don't try to start devices that don't support scrypt when scrypt mining.
Con Kolivas b814b42c 2012-08-16T18:55:09 Consider us lagging only once our queue is almost full and no staged work.
Con Kolivas b60f9da4 2012-08-16T17:24:04 Simplify the enough work algorithm dramatically.
Con Kolivas 0e56dffd 2012-08-16T17:01:25 Only queue from backup pools once we have nothing staged.
Con Kolivas e16b7566 2012-08-16T15:49:11 Don't keep queueing work indefinitely if we're in opt failover mode.
Con Kolivas 6d1949e6 2012-08-16T15:46:41 Make sure we don't opt out of queueing more work if all the queued work is from one pool.
Con Kolivas a5f7b953 2012-08-16T11:47:00 Set lagging flag if we're on the last of our staged items.
Con Kolivas ee9e621e 2012-08-16T10:59:49 Reinstate clone on grabbing work.
Con Kolivas 55f7c149 2012-08-16T10:55:57 Grab clones from hashlist wherever possible first.
Con Kolivas c3e32274 2012-08-16T10:41:01 Cull all the early queue requests since we request every time work is popped now.
Con Kolivas 0fbd60ae 2012-08-16T10:24:52 Keep track of staged rollable work item counts to speed up clone_available.
Con Kolivas 83b9ddfe 2012-08-16T10:18:30 Make expiry on should_roll to 2/3 time instead of share duration since some hardware will have very fast share times.
Con Kolivas 8697d6a2 2012-08-16T10:16:58 Do the cheaper comparison first.
Con Kolivas 381c56f8 2012-08-16T09:53:36 Check that we'll get 1 shares' worth of work time by rolling before saying we should roll the work.
Con Kolivas afcfea15 2012-08-16T09:30:49 Simplify all those total_secs usages by initialising it to 1 second.
Con Kolivas 5fadfdb2 2012-08-16T09:19:45 Overlap queued decrementing with staged incrementing.
Con Kolivas 9f1d9ce3 2012-08-16T00:16:13 Artificially set the pool lagging flag on pool switch in failover only mode as well.
Con Kolivas a6b97327 2012-08-16T00:09:50 Artificially set the pool lagging flag on work restart to avoid messages about slow pools after every longpoll.
Con Kolivas 44e81218 2012-08-15T22:56:18 Factor in opt_queue value into enough work queued or staged.
Con Kolivas 611f1cec 2012-08-15T22:48:08 Roll work whenever we can on getwork.
Con Kolivas fd0be1bb 2012-08-15T22:28:09 Queue requests for getwork regardless and test whether we should send for a getwork from the getwork thread itself.
Con Kolivas 7d77c016 2012-08-15T21:26:50 Get rid of age_work().
Con Kolivas d1508bd4 2012-08-14T14:45:34 Merge pull request #296 from kanoi/api API allow display/change failover-only setting (API v1.16)
Kano 95dff736 2012-08-14T12:54:27 API allow display/change failover-only setting
Con Kolivas 8e20456b 2012-08-14T09:13:59 Check we are not lagging as well as there is enough work in getwork.
Con Kolivas 00691aba 2012-08-11T20:42:05 Merge pull request #292 from kanoi/main Escape " and \ when writing json config file
Con Kolivas d66742a8 2012-08-12T11:04:51 Minimise locking and unlocking when getting counts by reusing shared mutex lock functions.
Con Kolivas c91a9545 2012-08-12T10:55:18 Avoid getting more work if by the time the getwork thread is spawned we find ourselves with enough work.
Con Kolivas f27bcb8e 2012-08-12T10:45:59 Going back to e68ecf5eb275e1cc2dc22c7db35b0bd8d9c799de
Con Kolivas c892ded6 2012-08-12T10:40:58 Make sure there are true pending staged work items as well in failover only mode.
Con Kolivas 61003df4 2012-08-12T10:33:26 In failover-only mode we need to queue enough work for the local pool and ignore the total queued count.
Con Kolivas 8aa61f66 2012-08-11T16:47:49 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.
Con Kolivas c0aaf56a 2012-08-11T16:11:53 Since all the counts use the same mutex, grab it only once.
Con Kolivas 4f9394be 2012-08-11T14:39:35 When popping work, grab cloned work first if possible since original work can be reused to make further clones.
Con Kolivas 8085ae68 2012-08-11T14:04:55 Further simplify the queue request mechanism.
Con Kolivas f83863a9 2012-08-11T13:30:41 Keep total queued count as a fake pending staged count to account for the period a queue is in flight before it is staged.
Con Kolivas e47dc873 2012-08-10T21:44:15 Clone work at the time of requesting it if an existing work item can be rolled.
Con Kolivas e68ecf5e 2012-08-10T20:18:04 Queue one request for each staged request removed, keeping the staged request count optimal at all times.
Kano 52e5524d 2012-08-09T18:01:35 Escape " and \ when writing json config file
ckolivas 3dd1658e 2012-08-07T12:10:01 We may as well leave one curl still available per pool instead of reaping the last one.
ckolivas c7bcad65 2012-08-07T11:59:54 Need to recheck the pool->curls count on regaining the pool lock after the pthread conditional wait returns.
ckolivas ad8c4b77 2012-08-07T11:52:37 Revert "Only add to the pool curlring and increment the counter under mutex lock." This reverts commit 8897e0657507072448f4e951ce1caadca15b4b30. Wrong fix. Recursive locking now.
ckolivas 145f04cc 2012-08-07T11:10:59 Display reaped debug message outside mutex lock to avoid recursive locking.
ckolivas 8897e065 2012-08-07T11:05:23 Only add to the pool curlring and increment the counter under mutex lock.
Con Kolivas 25fd6cd0 2012-08-05T15:35:37 Correct writing of scrypt parameters to config file based on command line parameters only.
Con Kolivas ac131d31 2012-08-04T22:34:47 Merge pull request #279 from tyeken8/tydus Add scrypt support while writing conf
Con Kolivas 7611499b 2012-08-05T14:57:46 Queue a request on pool switch in case we have no work from the new pool yet.
Con Kolivas 4efa31d2 2012-08-05T14:44:11 Display failover only mode in pool menu and allow it to be toggled live.
Con Kolivas 1a041668 2012-08-05T14:37:49 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.
Con Kolivas 499c594c 2012-08-05T14:29:21 There is no need for pool active testing to be mandatory any more with queue request changes.
Con Kolivas e4326e3c 2012-08-05T14:24:31 Fix harmless warnings.
Con Kolivas 9a45a6d9 2012-08-05T14:19:49 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().
Con Kolivas bf9c3247 2012-08-05T13:40:46 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.
Con Kolivas b66e0241 2012-08-04T09:52:18 Queue an extra request whenever staged work drops below mining thread count in hash_pop.
Con Kolivas b70ec3cb 2012-08-02T17:17:53 Merge pull request #283 from kanoi/icarus ICA support 57600 baud rate, up to 8 FPGA and partial working FPGA boards
Con Kolivas 15dc4bb3 2012-08-03T10:10:53 Scrypt mining does not support block testing yet so don't try to print it.
Con Kolivas 2953aa25 2012-08-02T22:46:49 We dropped the temporary stopping of curl recruiting on submit_fail by mistake, reinstate it.
Con Kolivas 9410875e 2012-08-02T22:46:13 Make threads report in either side of the scanhash function in case we miss reporting in when restarting work.
ckolivas d5dffa6a 2012-08-02T16:45:12 Don't make mandatory work and its clones last forever.
Con Kolivas aa52db45 2012-08-01T23:42:00 Make test work for pool_active mandatory work items to smooth out staged work counts when in failover-only mode.
Kano e067be42 2012-08-01T22:50:30 ICA support 57600 baud rate, up to 8 FPGA and partial working FPGA boards
Con Kolivas 8414a9a7 2012-08-01T22:48:38 Add debugging output when work is found stale as to why.
Con Kolivas d37d044f 2012-08-01T20:05:30 Add some headroom to the number of curls available per pool to allow for longpoll and sendwork curls.
Tydus fd51e5ba 2012-07-30T18:27:33 Add scrypt support while writing conf
Con Kolivas 99204bd5 2012-07-30T14:05:16 Display scrypt as being built in as well.
Con Kolivas 7a07c7d0 2012-07-30T14:03:15 Fix build warning about KL_SCRYPT when built without scrypt support.
Con Kolivas c91148f1 2012-07-30T09:02:23 Remove the low hash count determinant of hardware being sick. A low hash rate can be for poor network connectivity or scrypt mining, neither of which are due to sick hardware.
Con Kolivas d8ec6d3e 2012-07-29T21:35:24 Display kilohash when suitable, but store the global mhash value still truly in megahashes to not break the API output.
Con Kolivas b5517af0 2012-07-29T21:07:24 Don't try and print curses output for devices that won't fit on the screen.
Con Kolivas 500ed85b 2012-07-29T03:46:49 Merge pull request #271 from luke-jr/cg_logfixes Logging bugfixes
Con Kolivas 28ac422a 2012-07-29T03:45:10 Merge pull request #270 from luke-jr/bugfix_procname Bugfix: Copy argv[0] given to dirname()
Con Kolivas b40c8b84 2012-07-29T19:10:40 Limit total number of curls recruited per pool to the number of mining threads to prevent blasting the network when we only have one pool to talk to.
Con Kolivas e87ff7c1 2012-07-29T13:15:39 Keep a counter of enabled pools and use that instead of iterating over the pool list. Use that value to ensure we don't set the last remaining active pool to the rejecting state.
Con Kolivas 5148502c 2012-07-25T22:30:37 Reinstate help information for lookup gap and thread concurrency since tc will often need to be manually set for optimal scrypt performance.
Con Kolivas 9a6c082a 2012-07-24T20:27:37 Make the thread concurrency and lookup gap options hidden on the command line and autotune parameters with a newly parsed --shaders option.
Luke Dashjr da4ff2bd 2012-07-23T20:22:01 Bugfix: Use a mutex to control non-curses output Without this, there is no guarantee writes won't overlap (and it happens quite a bit on Windows with the bitforce driver)
Luke Dashjr d98e561a 2012-07-23T20:15:45 Simplify code to a single vprintf path for curses-less printing
Luke Dashjr 80593c47 2012-07-23T19:56:03 Move opt_quiet check to my_log_curses, so it works for curses-less builds
Luke Dashjr a1cb0d06 2012-07-23T15:48:00 Bugfix: Copy argv[0] given to dirname() Per manpage, dirname can (and does on GNU/Linux!) modify its argument
Con Kolivas 94c94d65 2012-07-23T07:38:58 Nonce testing for btc got screwed up, leading to no accepted shares. Fix it.
Con Kolivas 39f7d2fa 2012-07-21T17:31:06 Allow lookup gap and thread concurrency to be passed per device and store details in kernel binary filename.