miner.h


Log

Author Commit Date CI Message
Con Kolivas 5412323e 2013-03-09T15:12:41 Fix memory leak with share submission on GPU work structures as discovered by twobitcoins.
Con Kolivas e0196a33 2013-03-09T11:33:50 Don't start testing any pools with the watchpool thread if any of the test threads are still active.
Con Kolivas c618d868 2013-03-09T09:43:40 Remove unused pthread_t typedefs from struct pool.
ckolivas e746ed64 2013-03-08T15:18:10 Make the initialisation of the stratum thread more robust allowing the watchpool thread safe access to it after the stratum thread is started.
Con Kolivas 96ae17a4 2013-03-06T15:51:33 Merge pull request #398 from kanoi/bflsc API use control_lock when switching pools + Setup BFLSC support + API add 'Network Difficulty' to 'coin'
Kano 0eafc8b9 2013-03-07T07:40:05 API add 'Network Difficulty' to 'coin'
Kano 540f3e89 2013-03-07T00:00:31 Setup BFLSC support
Kano 419083a7 2013-03-06T21:19:02 API use control_lock when switching pools
ckolivas 386ea2df 2013-03-06T14:34:17 Instead of keeping track of when the last work item was generated to keep stratum connections open, keep them open if any shares have been submitted awaiting a response.
Kano 2f6660e8 2013-03-05T18:33:43 configure - set USE_USBUTILS when usbutils is required and use it in the code
Kano 120e9a07 2013-03-04T22:46:34 make rw locks: mining_thr_lock and devices_lock
Kano be8cadbc 2013-03-04T17:26:11 Hotplug - allow setting interval via --hotplug or API
Kano c14f2ec6 2013-03-03T19:33:20 API V1.25 - add 'Last Valid Work' time for each device
Con Kolivas b2b0d10a 2013-02-28T23:37:06 Merge branch 'master' into usb-dev
Con Kolivas b4cac54a 2013-02-28T23:35:31 Keep stratum connections open for 2 minutes after the last work item was staged to allow stray shares to be submitted on pool switching.
Con Kolivas 6bf79626 2013-02-23T13:59:37 Merge branch 'master' into usb-dev
ckolivas 68d69109 2013-02-22T12:55:01 Move to storing the nonce1 in the work struct instead of the sessionid for the now defunct first draft mining.resume protocol.
Con Kolivas fce54349 2013-02-18T14:14:10 Add a get_queued function for devices to use to retrieve work items from the queued hashtable.
Kano 4266245a 2013-02-16T14:15:17 Merge remote-tracking branch 'conman/master' into bflsc
Con Kolivas fda6d46e 2013-02-16T14:09:44 Add the choice of hash loop to the device driver, defaulting to hash_sole_work if none is specified.
Con Kolivas c80c65ea 2013-02-16T12:38:53 Add a driver specific flush_work for queued devices that may have work items already queued to abort working on them on the device and discard them.
Con Kolivas e8e88bef 2013-02-16T12:28:50 Create a central point for removal of work items completed by queued device drivers.
Con Kolivas 95b20202 2013-02-16T12:14:13 Create a fill_queue function that creates hashtables of as many work items as is required by the device driver till it flags the queue full.
Con Kolivas 5e3253a7 2013-02-16T11:54:05 Create the hash queued work variant for use with devices that are fast enough to require a queue.
Con Kolivas ab0cc58c 2013-02-15T23:15:11 Merge branch 'master' into usb-dev
Con Kolivas be4705a0 2013-02-15T23:05:29 Provide support for mining.resume with stratum, currently re-authorising after successful resumption pending finalising of the protocol process.
Con Kolivas 1bf1f4a2 2013-02-15T15:36:29 Add timestamps to stratum_share structs as they're generated and copy the stratum sessionid if it exists to stratum work generated.
Con Kolivas c851f395 2013-02-15T14:46:30 Store session id for stratum if the pool supports it for future mining.resume support.
Con Kolivas 61a3e1b1 2013-02-09T02:36:27 Merge pull request #382 from kanoi/hotplug USB tidy up requests + Hotplug
Con Kolivas 5d581cb5 2013-02-09T19:27:57 Use blank_get_statline_before for GPU devices that don't support adl monitoring.
Kano bc575523 2013-02-08T02:12:09 call a separate get_devices() with locking, as required
Kano 983fe2b0 2013-02-02T09:51:47 usbutils hotplug v0.1
Con Kolivas 0244998e 2013-02-04T11:23:20 Merge branch 'master' into usb-dev
Con Kolivas d644fdf1 2013-02-04T11:19:12 Cache the coinbase length to speed up stratum work generation.
Con Kolivas 0870ab75 2013-02-04T11:06:05 Cache the header length when generating stratum work to avoid calculating it on every work generation, and to only need one alloc+sprintf, speeding up work generation.
Con Kolivas 5d122cad 2013-02-03T23:41:41 Provide wrappers for grabbing of thr value under the mining_thr_lock.
Kano 7abf30b2 2013-02-03T22:51:05 distinguish between drv and it's id enum now called drv_id
Kano 61ec1fe9 2013-01-30T15:02:25 mutex all access to mining_thr
Kano 212f32e5 2013-01-29T23:44:09 Split thr_info array into control_thr and mining_thr pointers so more mining threads can be added later
Kano 7fbc3770 2013-01-22T21:46:21 USB move usbdev info that needs to stay around into usbinfo
Kano c1eae36f 2013-01-15T01:13:00 API stats - include pool network bytes + in miner.php
Kano 34bcc1c6 2013-01-14T11:30:11 USB automatically handle losing the device and report nodev in the API
Kano 0b3d8c89 2013-01-10T11:08:12 API zero - zero statistics - all or bestshare - with optional on screen summary
Kano f9e04a3c 2013-01-06T21:00:38 device_drv - allow .name to be changed before add_cgpu()
Kano a344deb6 2013-01-05T23:47:26 rename device_api -> device_drv and all related api -> drv and add a device_drv->drv enum for identifying which driver each is
Kano 1ce817d4 2013-01-03T21:48:22 Merge branch 'api'
Kano e3db37a6 2013-01-03T21:47:41 Merge branch 'bfl'
Kano 03f626e6 2013-01-02T21:51:09 Remember best share per pool and return in API pools
Kano 03c2caba 2012-12-31T23:46:03 BFL include all USB requirements
Con Kolivas e1387dc8 2012-12-29T11:29:59 Change the pool stratum socket buffer to be dynamically allocated to accomodate any size coinbase and keep receiving data in recv line for up to 60s if no end of line has been received.
Con Kolivas e1d7ecdd 2012-12-29T09:45:40 Do not try to generate stratum work unless the notify command has succeeded.
Con Kolivas d3bfee14 2012-12-25T23:14:21 Display the current pool diff in the status line.
Con Kolivas f0c1782c 2012-12-25T14:08:27 Generate the output hash for scrypt as well and use the one function to set share_diff.
Kano e931b727 2012-12-19T10:43:27 API V1.23 - new pgaset command, to be used soon
Kano 072909a1 2012-12-17T13:21:24 MMQ count work check timeout failures
Kano 38ff2a7d 2012-12-17T13:20:10 MMQ allow partial work replies and count them
Con Kolivas cada0d31 2012-12-14T21:36:42 Check for EWOULDBLOCK when supported in send and recv as well.
Con Kolivas fd1bd9e7 2012-12-12T15:29:51 Merge pull request #365 from kanoi/api Pool store data transfer stats + API stats - display pool byte transfer stats
Kano 138465bf 2012-12-13T00:56:10 Pool store data transfer stats
Kano f3f8b4fd 2012-12-12T17:01:28 MMQ handle over temp differently and hash longer
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 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 8ebf4f6e 2012-12-04T21:52:41 Style changes.
Kano e55fe73f 2012-12-03T23:08:11 API add Best Share to summary
Kano a67e96c3 2012-12-03T11:36:15 API lock access to some summary statistics (and copy them)
Kano 152e7e36 2012-12-02T21:48:37 mmq usb v0.4 + api usb stats
Con Kolivas 3ab03e8f 2012-12-02T01:41:03 Merge pull request #334 from denis2342/pkgconfig third of version of pkg-config changes
Con Kolivas 33c9faae 2012-12-01T21:47:27 Pass ostate values around in scrypt to be able to extract full hashes if needed later on.
Peter Stuge 318ef85a 2012-11-16T00:13:56 Require pkg-config to find libusb-1.0, and fix libusb.h #includes
Con Kolivas 8bc60506 2012-11-25T09:47:26 Revert "Find libusb-1.0 with pkg-config except on mingw, and fix #include path" This reverts commit ce72dbea7d7405ed37456c89c8b0516188f57fc7.
nelisky c93e5e95 2012-11-04T13:26:39 openwrt needs roundl
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 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.
Peter Stuge ce72dbea 2012-11-16T00:13:56 Find libusb-1.0 with pkg-config except on mingw, and fix #include path
Con Kolivas e55ef04d 2012-11-18T23:41:21 Revert "Find libusb-1.0 using pkg-config and correct the libusb.h #include path" This reverts commit 171c3d0c72e749bc9d82a6742955119decf7b09c. Rollback breakage.
Con Kolivas 9ad02fe3 2012-11-18T21:48:44 Support workid for block submission on GBT pools that use it.
Peter Stuge 171c3d0c 2012-11-16T00:13:56 Find libusb-1.0 using pkg-config and correct the libusb.h #include path
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 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 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.
Con Kolivas a8e1ebb1 2012-11-06T12:01:07 Add endian swap defines for where missing.
Con Kolivas 10ea5fbf 2012-11-05T16:57:48 Use existing pool submit_old bool from gbt data.
Con Kolivas f71b4230 2012-11-05T16:48:19 Retrieve a new block template if more than 30 seconds has elapsed since the last one to keep the data current and test the pool is still alive.
Con Kolivas 85f400bf 2012-11-05T15:57:47 Correct last few components of GBT block generation courtesy of Luke-jr.
Con Kolivas a4e78be1 2012-11-05T14:56:57 Flip all 80 bytes in the flip function which was wrongly named flip256 for its purpose.
Con Kolivas 0ba5f0f9 2012-11-05T14:02:43 Use a standard function for flipping bytes.
Con Kolivas 88b6f792 2012-11-04T18:01:09 Make gbt_coinbase large enough for submissions, swap bytes correctly to make a header from GBT and encode the number of transactions in share submission.
Con Kolivas 889ed239 2012-11-04T15:28:13 Store the fixed size entries as static variables in GBT in binary form, byteswapping as is required.
Con Kolivas 6b34faf8 2012-11-04T10:24:09 Construct block for submission when using GBT.
Con Kolivas c5c5fb82 2012-11-04T08:35:50 Store all the transaction hashes in pool->txn_hashes instead of separating txn0 and correct generation of merkle root, fixing memory overwrites.
Con Kolivas 875ca0fc 2012-11-04T01:07:01 Create extra work fields when generating GBT work.
Con Kolivas cbc246ea 2012-11-03T19:45:37 Generate the merkle root for gbt work generation.
Con Kolivas 8d0f7482 2012-11-03T13:27:41 Create a store of the transactions with GBT in the minimum size form required to generate work items with a varied coinbase.
Con Kolivas 4a72a157 2012-11-01T22:34:08 Create a function that generates a GBT coinbase from the existing pool variables.
Con Kolivas 813e814f 2012-11-01T16:56:54 Extract and store the various variables GBT uses when decoding gbt work.
Con Kolivas d10699d4 2012-11-01T14:24:55 Add a gbt mutex within the pool struct for protecting the gbt values.
Con Kolivas 8afc1f65 2012-11-01T14:05:25 Convert work decode function to prepare for decoding block templates.
Con Kolivas 1c456d4f 2012-11-01T13:53:12 Check for GBT support on first probing the pool and convert to using the GBT request as the rpc request for that pool.
Con Kolivas f4cc59f2 2012-11-01T13:06:34 Make the rpc request used with getwork a pool variable to allow it to be converted to/from gbt requests.
ckolivas a2d57835 2012-10-30T16:45:27 server and client sockaddr_in are no longer used in struct pool.