cgminer.c


Log

Author Commit Date CI Message
Kano fdcd72b9 2012-06-10T11:19:21 API add stats for pool getworks
Kano 3cb3f09a 2012-05-31T23:18:55 API save default config file if none specified
Con Kolivas 84064a2b 2012-05-31T19:25:33 Must unlock mutex within loop.
Con Kolivas 85bddde1 2012-05-31T19:20:40 Must unlock mutex after waking up on pthread conditional.
Con Kolivas 598476ca 2012-05-30T18:02:00 Merge pull request #204 from kanoi/icarus-timer Icarus: high accuracy timing and other bitstream speed support
Con Kolivas 624948e2 2012-05-31T09:44:51 Open a longpoll connection if a pool is in the REJECTING state as it's the only way to re-enable it automatically.
Con Kolivas 2586bda5 2012-05-31T09:40:32 Use only one longpoll as much as possible by using a pthread conditional broadcast that each longpoll thread waits on and checks if it's the current pool before opening its longpoll connection.
Con Kolivas 5c3a252b 2012-05-31T08:42:46 Merge branch 'master' of github.com:ckolivas/cgminer
Con Kolivas 85210ee7 2012-05-31T08:41:56 If shares are known stale, don't use them to decide to disable a pool for sequential rejects.
Kano 17b6f111 2012-05-16T23:53:13 Icarus: make --icarus-timing hidden and document it in FPGA-README
Kano b5ed958e 2012-05-16T22:25:21 Icarus: high accuracy timing and other bitstream speed support
Xiangfu 9414fa7c 2012-05-11T11:00:14 work_decode only needs swab32 on midstate under BIG ENDIAN
Kano c2e2e7e4 2012-05-07T20:23:20 save config bugfix: writing an extra ',' when no gpus
Con Kolivas 61696c07 2012-05-06T16:22:18 In the unlikely event of finding a block, display the block solved count with the pool it came from for auditing.
Con Kolivas 6282dfb4 2012-05-06T16:15:20 Display the device summary on exit even if a device has been disabled.
Con Kolivas 848373d1 2012-05-06T14:24:50 Ensure we test for a pool recovering from idle so long as it's not set to disabled.
Con Kolivas b85d7b54 2012-05-06T14:17:48 Revert "Perform all common pool initialisation in add_pool()." This reverts commit f8b66bde28a5a74fbc5688642318c3ca9b1b9e2a. Sets pools to dead by mistake at startup.
Con Kolivas 801d9eaa 2012-05-06T14:13:39 Fix pool number display.
Con Kolivas 233a812f 2012-05-06T13:30:27 Give cgminer -T message only if curses is in use.
Con Kolivas f8b66bde 2012-05-06T13:27:17 Perform all common pool initialisation in add_pool().
Con Kolivas 85c9e0c4 2012-05-05T06:38:30 Merge pull request #198 from kanoi/stats API add getwork stats to cgminer - accesable from API 'stats' - and devices can add stats also
Kano 976e27c4 2012-05-05T15:04:15 API add getwork stats to cgminer - accesable from API 'stats'
Con Kolivas 46a679f3 2012-05-05T12:55:00 Revert "Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp." This reverts commit 87708a6a0e151401aee6cebf624940467993707b. Broken.
Con Kolivas c322d9b5 2012-05-05T09:40:46 Don't initialise variables to zero when in global scope since they're already initialised.
Con Kolivas c8e1026d 2012-05-05T09:37:33 Get rid of unitialised variable warning when it's false.
Con Kolivas b3bc506d 2012-05-05T09:31:48 Move a pool to POOL_REJECTING to be disabled only after 3 minutes of continuous rejected shares.
Con Kolivas 87708a6a 2012-05-04T23:05:00 Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp.
Kano 5c2bf84a 2012-05-04T22:18:31 Change FPGA detection order since BFL hangs on an ICA
Con Kolivas 4987958e 2012-05-04T20:10:38 Add a temporarily disabled state for enabled pools called POOL_REJECTING and use the work from each longpoll to help determine when a rejecting pool has started working again. Switch pools based on the multipool strategy once a pool is re-enabled.
Con Kolivas d5eb6650 2012-05-04T02:43:56 Merge pull request #193 from kanoi/master API add last share time to each pool + Correct Icarus U: & MH/s
ckolivas 376fcd3c 2012-05-04T13:10:18 Fix the benchmark feature by bypassing the new networking code.
ckolivas 4d090a58 2012-05-04T12:51:32 Reset sequential reject counter after a pool is disabled for when it is re-enabled.
Kano 44fc6987 2012-05-04T00:13:42 API add last share time to each pool
Con Kolivas 852f6a0e 2012-05-03T22:39:12 Don't try to reap curls if benchmarking is enabled.
Con Kolivas f0985f99 2012-05-03T16:25:07 Only show longpoll warning once when it has failed.
Con Kolivas 41d5813d 2012-05-03T15:37:29 Convert hashes to an unsigned long long as well.
Con Kolivas a4f1af17 2012-05-03T15:35:13 Detect pools that have issues represented by endless rejected shares and disable them, with a parameter to optionally disable this feature.
Luke Dashjr 06801822 2012-05-02T23:09:39 Bugfix: Use a 64-bit type for hashes_done (miner_thread) since it can overflow 32-bit on some FPGAs
Con Kolivas 5081c182 2012-05-03T09:24:25 Limit the number of curls we recruit on communication failures and with delaynet enabled to 5 by maintaining a per-pool curl count, and using a pthread conditional that wakes up when one is returned to the ring buffer.
Con Kolivas d4405de7 2012-05-03T08:56:42 Generalise add_pool() functions since they're repeated in add_pool_details.
Luke Dashjr 4ba9006d 2012-05-02T10:28:09 Disable failing devices such that the user can attempt to re-enable them
ckolivas 5cf4e188 2012-05-02T11:17:06 Increase pool watch interval to 30 seconds.
ckolivas 85008a78 2012-05-02T10:12:07 Reap curls that are unused for over a minute. This allows connections to be closed, thereby allowing the number of curl handles to always be the minimum necessary to not delay networking.
Con Kolivas ec3d0570 2012-05-01T21:07:16 Use the ringbuffer of curls from the same pool for submit as well as getwork threads. Since the curl handles were already connected to the same pool and are immediately available, share submission will not be delayed by getworks.
Con Kolivas 7d288eac 2012-05-01T19:59:37 Implement a scaleable networking framework designed to cope with any sized network requirements, yet minimise the number of connections being reoped. Do this by create a ring buffer linked list of curl handles to be used by getwork, recruiting extra handles when none is immediately available.
Con Kolivas 89053c78 2012-05-01T19:12:37 There is no need for the submit and getwork curls to be tied to the pool struct.
ckolivas adda6e66 2012-05-01T17:48:23 Do not recruit extra connection threads if there have been connection errors to the pool in question.
ckolivas 76385112 2012-05-01T09:54:34 We should not retry submitting shares indefinitely or we may end up with a huge backlog during network outages, so discard stale shares if we failed to submit them and they've become stale in the interim.
Con Kolivas b015348d 2012-04-29T10:08:12 Shorten stale share messages slightly.
Con Kolivas 7233890d 2012-04-29T10:03:01 Protect the freeing of current_hash under mutex_lock to prevent racing on it when set_curblock is hit concurrently.
Con Kolivas 53c22551 2012-04-29T09:12:23 Change default behaviour to submitting stale, removing the --submit-stale option and adding a --no-submit-stale option.
Con Kolivas f9123f05 2012-04-29T08:55:59 Make sure to start the getwork and submit threads when a pool is added on the fly.
Con Kolivas 5ad942d1 2012-04-29T00:56:23 Faster hardware can easily outstrip the speed we can get work and submit shares when using only one connection per pool. Test the queued list to see if any get/submits are already queued and if they are, start recruiting extra connections by generating new threads. This allows us to reuse network connections at low loads but recuit new open connections as they're needed, so that cgminer can scale to hardware of any size.
Con Kolivas 628ac199 2012-04-28T14:00:34 Get rid of confusing "waiting on fresh work" part of longpoll message to minimise log width and add pool number to longpoll work restart message.
Con Kolivas 972860c0 2012-04-28T13:36:27 Remove unused variable.
Con Kolivas 3362a2a4 2012-04-28T13:31:27 Give a longpoll message for any longpoll that detects a block change, primary or backup, and also display which pool it was.
Con Kolivas e1cf5029 2012-04-28T12:22:23 Decrease utility display to one decimal place.
Con Kolivas 7b370bb2 2012-04-28T09:19:32 Small cosmetic output alignment.
Con Kolivas 669b0ded 2012-04-28T08:39:06 Add pool number to stale share message.
Con Kolivas 03fab3f4 2012-04-28T00:16:34 Remove thread id display from rejected shares as well.
Con Kolivas 86e94edb 2012-04-27T15:47:21 Set have_longpoll to true when there is at least one pool with longpoll.
Con Kolivas 0365878a 2012-04-27T15:30:42 Don't display the thread ID since it adds no useful information over the device number.
Con Kolivas 08c72108 2012-04-27T15:29:31 Don't display the first 8 bytes of a share since they will always be zero at >= 1 difficulty.
Con Kolivas 501e35a0 2012-04-27T14:02:29 work->longpoll is reset across test_work_current so we need to recheck what pool it belongs to.
Con Kolivas 03abb704 2012-04-27T13:59:43 Use longpolls from backup pools with failover-only enabled just to check for block changes, but don't use them as work.
Con Kolivas 1ab318d0 2012-04-27T13:11:19 Start longpoll only after we have tried to extract the longpoll URL.
Con Kolivas b1c273e7 2012-04-27T12:54:29 Check for submitold flag on resubmit of shares, and give different message for stale shares on retry.
Con Kolivas 5ece966f 2012-04-27T12:47:13 Check for submitold before submitstale.
Con Kolivas ed718b2b 2012-04-27T12:28:51 Don't force fresh curl connections on anything but longpoll threads.
Con Kolivas eda38299 2012-04-27T11:58:47 Create one longpoll thread per pool, using backup pools for those pools that don't have longpoll. Use the work created from the longpoll return only if we don't have failover-enabled, and only flag the work as a longpoll if it is the current pool. This will work around the problem of trying to restart the single longpoll thread on pool changes that was leading to race conditions. It will also have less work restarts from the multiple longpolls received from different pools.
Con Kolivas e502fde5 2012-04-27T11:13:52 Remove the ability to disable longpoll. It is not a useful feature and will conflict with planned changes to longpoll code.
Con Kolivas 8e84abfc 2012-04-26T17:36:19 Merge pull request #184 from luke-jr/bugfix_const_warning Bugfix: Make initial_args a const char** to satisfy exec argument type warning (MinGW)
Con Kolivas 8d8f4ff8 2012-04-26T16:38:17 Merge pull request #182 from kanoi/master api.c 'devdetails' list static details of devices + ZTex ++
Luke Dashjr 90c5ef1f 2012-04-26T14:55:03 Bugfix: Make initial_args a const char** to satisfy exec argument type warning (on Windows only)
Con Kolivas 4cd97326 2012-04-26T23:29:21 Create discrete persistent submit and get work threads per pool, thus allowing all submitworks belonging to the same pool to reuse the same curl handle, and all getworks to reuse their own handle. Use separate handles for submission to not make getwork potentially delay share submission which is time critical. This will allow much more reusing of persistent connections instead of opening new ones which can flood routers. This mandated a rework of the extra longpoll support (for when pools are switched) and this is managed by restarting longpoll cleanly and waiting for a thread join.
Kano b3ac249e 2012-04-26T00:20:16 cgminer.c sharelog code consistency and compile warning fix
Luke Dashjr 4648330c 2012-04-24T21:46:48 Support for share logging
Con Kolivas f5f089f5 2012-04-23T17:40:47 Add a --gpu-map option which will allow arbitrarily mapping ADL devices to OpenCL devices for instances where association by enumeration alone fails.
Con Kolivas 99331991 2012-04-23T09:53:40 Increase upper limit on number of extra items to queue as some FPGA code can't yet reliably keep many devices busy.
Con Kolivas d6edd07c 2012-04-22T21:09:36 Display configuration file information when -c option is passed and only when file exists on loading default config file.
Con Kolivas 6ffdbc3a 2012-04-22T20:50:50 Display configuration file loaded, if any, and debug output if configuration file parsing failed.
Con Kolivas cfe3eb0b 2012-04-22T10:43:31 Merge branch 'master' into ztex Conflicts: configure.ac
Luke Dashjr 0d920697 2012-04-21T03:32:57 Merge branch 'master' into align_temps Conflicts: cgminer.c
Luke Dashjr 657716e5 2012-04-21T02:52:20 Merge branch 'master' into ztex
Con Kolivas 7b947882 2012-04-20T23:41:46 Merge pull request #157 from luke-jr/unify_drivers Unify drivers as driver-*.c and add driver name to API
Con Kolivas 86671f80 2012-04-21T16:39:14 Make the status window and log window as large as can fit on startup, rechecking to see if it can be enlarged after the fact. This allows any number of devices to be displayed provided the window is made long enough without corrupting the output.
Luke Dashjr b8778839 2012-04-21T02:36:19 Merge branch 'master' into unify_drivers Conflicts: cgminer.c
Con Kolivas c7cc2e42 2012-04-21T14:03:41 Merge branch 'master' into ztex
Con Kolivas e08936c3 2012-04-20T15:00:39 Merge pull request #166 from kanoi/master api.c escape required characters in return strings + pools returns the username
Kano 2e1d2017 2012-04-21T03:15:41 API add removepool like the screen interface
Con Kolivas 46faefbe 2012-04-20T21:20:03 Merge branch 'ztex-master' of https://github.com/nelisky/cgminer into ztex
ckolivas b80d22b9 2012-04-20T14:24:58 Increase maximum number of displayed devices to 14, beyond which the screen becomes corrupted.
nelisky 7fe7d18d 2012-04-16T14:14:52 removing unused libusb_context pointer
nelisky 608a5205 2012-03-31T13:13:53 Tweaks to make ztex work on a tp-link router with openwrt
nelisky c3bda2b7 2012-03-14T10:34:29 adding path to libusb include
nelisky 99a188f9 2012-03-11T00:49:25 initial commit with some support for ztex 1.15x board. This version is just a rough draft, but it does alredy mine. Conflicts: cgminer.c configure.ac
Con Kolivas 7c6090fb 2012-04-14T15:48:31 Cache the initial arguments passed to cgminer and implement an attempted restart option from the settings menu.
Con Kolivas f3e43056 2012-04-14T14:11:58 Disable per-device status lines when there are more than 8 devices since screen output will be corrupted, enumerating them to the log output instead at startup.
Con Kolivas dceaa71a 2012-04-14T00:56:31 Make sure to disable devices with any status not being DEV_ENABLED to ensure that thermal cutoff code works as it was setting the status to DEV_RECOVER.
Con Kolivas 0a4a2d9d 2012-03-31T14:39:40 Damping small changes in hashrate so dramatically has the tendency to always make the hashrate underread so go back to gentle damping instead.