cgminer.c


Log

Author Commit Date CI Message
Con Kolivas 56edabc6 2013-10-12T11:06:54 Use a timeout with usb handle events set to a nominal 200ms and wait for the polling thread to shut down before deinitialising libusb.
Con Kolivas 9f8023a9 2013-10-12T10:34:07 Use stack memory for hex used in stratum share submissions.
Con Kolivas e0c90359 2013-10-12T09:56:48 Use stack memory in test_work_current, avoiding a malloc/free cycle each time.
Con Kolivas 835ad824 2013-10-12T09:32:07 Convert the bitfury driver to use the hash_driver_work version of hash_work.
Con Kolivas 58008a37 2013-10-12T09:05:58 Add a hash_driver_work function to allow for drivers that wish to do their own work queueing and management.
Con Kolivas cda797d1 2013-10-11T16:04:23 Avoid calling get_statline_before on exit to avoid trying to use it on drivers in an indeterminate state.
Con Kolivas d437de84 2013-10-11T15:58:29 Avoid calling get_statline on exit.
Con Kolivas b5dfacef 2013-10-11T10:15:06 We are always dependent on libusb handling events so use the blocking libusb_handle_events in the polling thread and use a bool to know if we should continue polling.
Con Kolivas 853aa28f 2013-10-11T08:49:59 Merge branch 'master' into async Conflicts: usbutils.c
Con Kolivas 2834eb8d 2013-10-08T23:35:22 Kill off threads that have failed using hash_sole_work instead of just disabling them.
Con Kolivas f80c9003 2013-10-08T20:46:36 Merge branch 'master' into async Conflicts: api.c cgminer.c miner.h usbutils.c util.c
Con Kolivas f8e28f25 2013-10-08T20:42:36 Try switching pools if for some reason we end up with only idle pools and have ended up current_pool set to an idle one.
Con Kolivas 3b527f14 2013-10-08T20:41:13 Check a pool is stable for >5 mins before switching back to it.
Con Kolivas 7318ecee 2013-10-07T23:34:01 Make the devlock a cglock in usbutils and only grab the write lock for fundamental changes allowing us to send and receive transfers concurrently without lock contention.
Con Kolivas 8c0ea19e 2013-10-05T09:31:36 Submitting an ntime offset nonce needs to be done on a copy of the work instead of the original so abstract out shared components as much as possible, minimising strdups in copy_work and make submit_work_async work take copied work, cleaning up code in the process.
Con Kolivas b6a97de6 2013-10-04T21:39:42 Provide a way for drivers to submit work that it has internally rolled the ntime value by returning the amount it has ntime rolled to be added.
ckolivas 6cd7f0f1 2013-10-04T12:00:41 Remove unmaintained broken ztex driver.
Kano 51418f79 2013-10-03T23:19:18 Klondike update code to current git
Con Kolivas a6a94070 2013-10-01T14:40:30 Use asynchronous transfers for all bulk transfers, allowing us to use our own timers and cancelling transfers that take too long.
Con Kolivas dbef95f7 2013-10-05T09:31:36 Submitting an ntime offset nonce needs to be done on a copy of the work instead of the original so abstract out shared components as much as possible, minimising strdups in copy_work and make submit_work_async work take copied work, cleaning up code in the process.
Con Kolivas 4c79252d 2013-10-04T21:39:42 Provide a way for drivers to submit work that it has internally rolled the ntime value by returning the amount it has ntime rolled to be added.
ckolivas 052e4348 2013-10-04T12:00:41 Remove unmaintained broken ztex driver.
Kano dc85abd9 2013-10-03T23:19:18 Klondike update code to current git
Con Kolivas 5e1ebd50 2013-09-29T13:54:16 Deuglify use of _PARSE_COMMANDS macro expansions.
ckolivas 2ec601e1 2013-09-28T16:00:55 There is no need to get the external prototypes for drivers in cgminer.c any more.
ckolivas f3294f74 2013-09-28T15:18:08 Remove unnecessary gpu_threads initialisation.
ckolivas 6d747123 2013-09-28T15:11:06 Use macro expansion to iterate over all device drivers without needing to explicitly code in support in all places. Pass a hotplug bool to the detect() function to prevent opencl trying to hogplug GPUs.
ckolivas df54b768 2013-09-28T13:52:13 Add a noop function for driver detect when it's missing.
ckolivas 88751974 2013-09-28T10:25:48 Create a macro list of drivers to enable easier addition of further drivers.
Con Kolivas 7696f26a 2013-09-26T21:18:33 Abstract out work submission once it's been tested, to be used by drivers that do their own internal validity testing.
Con Kolivas 76e688ae 2013-09-26T21:14:14 Store the hash2 array in struct work for further reuse.
Con Kolivas 39c52b1f 2013-09-26T20:58:47 Use the test_nonce function within submit_nonce and store the uint32 corresponding to hash2 37 for further use.
Con Kolivas c1aba055 2013-09-26T20:51:47 Only set share diff if we've confirmed it's a share first.
Con Kolivas 9040cac9 2013-09-25T22:47:19 restart_wait should return 0 if thr_restart is true.
Con Kolivas 759e82bb 2013-09-25T15:30:54 Add in first draft for a serialised work model sending/receiving data for BF1 devices.
Con Kolivas 2ab023f3 2013-09-24T21:55:47 Add BF1 detection code to bitfury driver.
Kano b1a3b012 2013-09-22T23:16:21 pool_active uninitialised_var rolltime
Con Kolivas 466d3bec 2013-09-21T22:49:28 Provide a --disable-libcurl config option to build support for stratum mining only.
Con Kolivas 48681dd4 2013-09-16T12:40:11 Reset quotas on load balance for all pools at the same time to avoid running out during selection and unintentionally dropping to fallback.
Con Kolivas 972d04d2 2013-09-16T12:26:01 Break out of select pool from a common point for appropriate debug messages and to avoid further tests.
Con Kolivas a76b09e4 2013-09-13T13:51:15 Find the greatest common denominator in quotas and use the smallest number of consecutive work items per pool in quota load balance mode to smooth hashrate across pools with large quotas. Give excess quota to priority pool 0 instead of pool 0.
Con Kolivas 8ac4fa20 2013-09-13T13:05:47 Merge branch 'master' into quota
Con Kolivas d4ac1915 2013-09-13T09:34:45 Avoid dynamically adding stack memory for nonce2 in the stratum send thread and check the pool's nonce2_len will not cause an overflow.
Con Kolivas 9cde5759 2013-09-08T19:54:35 Merge branch 'master' into quota
Con Kolivas 89c07fa5 2013-09-08T16:32:44 Add support for socks4/4a proxies with stratum, and drop back to socks4 support via the global --socks-proxy command to not break previous configurations.
Con Kolivas a41660f2 2013-09-07T19:02:38 Only show long-poll message in pool summary if it's not using stratum.
Con Kolivas 5b378f44 2013-09-07T15:41:07 Increase the time for the waiting for work message to be given to be greater than that required for a pool swap in the scheduler which is set to 5s.
Con Kolivas 812f7541 2013-09-07T15:36:48 Change message in status when using a balanced pool strategy to notify if there's a stratum pool as well.
Con Kolivas 26a8a8e2 2013-09-08T10:09:26 Use the --failover-only flag to have special meaning in combination with load-balance mode to distribute any unused quota back to pool 0 to maintain ratios amongst other pools.
Con Kolivas c325e7ae 2013-09-07T19:02:38 Only show long-poll message in pool summary if it's not using stratum.
Con Kolivas 7d2c31e2 2013-09-07T19:01:13 Display quota and allow it to be modified via the pool menu.
Con Kolivas e8a1c9eb 2013-09-07T15:41:07 Increase the time for the waiting for work message to be given to be greater than that required for a pool swap in the scheduler which is set to 5s.
Con Kolivas ea4a1ff9 2013-09-07T15:36:48 Change message in status when using a balanced pool strategy to notify if there's a stratum pool as well.
Con Kolivas 77b3b185 2013-09-07T15:29:18 Add quota support to configuration files.
Con Kolivas ea7b2a7d 2013-09-07T12:14:16 Rotate pools on all failures to set a pool in select_pool.
Con Kolivas 7c19984f 2013-09-07T12:12:24 Use quotas for load-balance pool strategy.
Con Kolivas 0121b75a 2013-09-07T11:33:07 Provide a mechanism for setting a pool quota to be used by load-balance.
Con Kolivas 770556cd 2013-09-07T09:39:03 Use the --socks-proxy option with stratum, changing it to defaulting to socks5 and give appropriate message should it fail to connect.
Con Kolivas 8ede407d 2013-09-05T23:10:19 Make extract_sockaddr set variables passed to it rather than pool struct members.
Con Kolivas 5bf9856a 2013-09-03T11:38:58 take_queued_work_bymidstate should use a write lock.
Kano 76185ede 2013-09-01T00:23:26 API mcast add a description option with miner.php
Con Kolivas 1d5d28d7 2013-08-31T21:36:15 Skip dissecting opt->names in parse_config if it doesn't exist.
ckolivas 0f42fd3f 2013-08-29T11:10:13 Remove unused HAVE_LISBUSB macro and use USE_USBUTILS everywhere.
Con Kolivas 572df102 2013-08-27T20:29:47 Provide a funcion that looks up queued work by midstate and then removes it from the device hash database.
Con Kolivas ab917082 2013-08-25T10:53:06 Only count submitted nonces as diff1shares if they're valid.
Kano febcc53d 2013-08-23T16:34:42 Update the API Multicast documentation
Kano 14ac6fa5 2013-08-22T09:27:49 Initial API Multicast response v0.1 to find cgminer APIs
Con Kolivas b9aa5b65 2013-08-21T20:31:10 Check for cnx_needed on each loop through wait_lp_current.
Con Kolivas 919a836f 2013-08-21T20:29:46 Return positive for cnx_needed when no_work is true.
Con Kolivas 7dbe4bbe 2013-08-21T20:12:00 Stratum is used more often so test for it first.
Con Kolivas a52ec336 2013-08-21T20:09:17 Reorder support names alphabetically.
ckolivas 77f9400c 2013-08-21T12:15:40 Only display the no pool work message once if there are multiple waiters in hash_pop
ckolivas 20de9226 2013-08-21T11:21:13 Provide a message and set a bool when no work is available from any pools and when it resumes again.
ckolivas 0e43084c 2013-08-21T11:05:21 We don't want to continue into the hash_pop function if the getq is frozen.
ckolivas cbea0a53 2013-08-21T10:56:31 Only report threads in and out in queued work devices across a get work since the rest happens asynchronously and the get work is what the device might be waiting on.
ckolivas b12badc9 2013-08-21T10:47:32 Thread reportin and out can be static non inline.
Con Kolivas ee2a5ae8 2013-08-20T20:46:09 TimeBeginPeriod and TimeEndPeriod do not add significant overhead when run the entire time for cgminer so avoid trying to maintain balanced numbers of them for specific time calls to simplify code.
Con Kolivas eeac9d81 2013-08-20T19:23:49 Replace all references to the old n*sleep functions with the equivalent cgsleep_*s replacements.
Con Kolivas 78d78b10 2013-08-19T19:10:41 Import Aaron D. Gifford's fast sha256 implementation.
Con Kolivas a61e41a0 2013-08-19T15:58:22 Check for thr->work_restart in restart_wait.
Con Kolivas 98e338cc 2013-08-14T22:59:57 Provide a variant of find_work_bymidstate that returns a clone of the found work.
Con Kolivas e95ad047 2013-08-13T22:44:22 Nonce2 stratum submission is not working with nonce2 lengths >4, revert the buggy __bin2hex function and use bin2hex.
Con Kolivas 1d614599 2013-08-13T14:35:35 Add room for the null byte at the end of the nonce2 string on stratum share submission and zero the allocated ram.
Con Kolivas c8aac741 2013-08-13T06:09:42 Only perform the bin2hex on nonce2 data if it's required for stratum submission, thereby removing the last conversion of that type from stratum work generation.
Con Kolivas 87ae66c7 2013-08-13T05:49:32 Create a work data template when receiving stratum notification, allowing a simple memcpy of the merkle root avoiding more hex2bin conversions on each work generation.
Con Kolivas 34bc106d 2013-08-13T04:57:04 Export the workpadding char in miner.h
Con Kolivas 46b6b07a 2013-08-12T16:02:20 Avoid a potential overflow should a pool specify a large nonce2 length with stratum.
Con Kolivas 0379123b 2013-08-12T15:23:35 Avoid one more hex2bin in gen stratum work.
Con Kolivas 11bcf2b3 2013-08-12T11:40:17 Rename work gbt_coinbase to coinbase to be in line with pool variable name.
Con Kolivas 5237bf35 2013-08-12T11:36:28 Perform merkle bin hex2bin on stratum notify to avoid doing it on each work generation.
Con Kolivas 8bc469e9 2013-08-12T11:16:46 Reuse just the one pool coinbase variable in stratum, avoiding more string functions and storage in gen_stratum_work on each work generation.
Con Kolivas 8c8ef6ff 2013-08-12T10:58:43 Rename pool gbt_coinbase variable to coinbase to combine it with the stratum coinbase data.
Con Kolivas c542e47a 2013-08-12T10:49:38 Use a nonce2 offset variable for both gbt and stratum to consolidate requirements on work generation.
Con Kolivas fb94dfa0 2013-08-12T01:15:22 Cache as much of the gbt coinbase as possible to avoid doing unnecessary hex2bin conversion on every work generation with gbt.
Con Kolivas a1052188 2013-08-12T00:27:22 We should be using a cg_wlock initially in generating stratum and gbt work before downgrading the lock.
Con Kolivas b423fe9d 2013-08-11T14:06:17 Cache the hex2bin of pool nonce1 in stratum, avoiding hex2bin on each work generation.
Con Kolivas fef649df 2013-08-11T13:47:46 Cache the binary generation of coinbase1 and 2 on stratum, avoiding a hex2bin of coinbase1 and 2 on each work generation.
Con Kolivas 580b77b7 2013-08-09T21:52:54 Fix warning.
Con Kolivas 106e461f 2013-08-09T16:57:16 Recreate curses windows on windows when a device is hotplugged to allow window resizing without crashing.
Con Kolivas 2b171f7f 2013-08-09T15:12:57 Limit intensity range according to whether scrypt is in use or not.