Con Kolivas
611c3164dc
Remove txn size debugging and enlarge gbt block string to prevent overflow.
2012-11-05 10:55:55 +11:00
Con Kolivas
bd384883da
Remove varint display debugging.
2012-11-05 08:39:33 +11:00
Con Kolivas
cb6f0340cd
Build varint correctly for share submission and sleep 5 seconds before retrying submit.
2012-11-05 08:27:20 +11:00
Con Kolivas
88b6f7924c
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.
2012-11-04 18:01:09 +11:00
Con Kolivas
889ed23934
Store the fixed size entries as static variables in GBT in binary form, byteswapping as is required.
2012-11-04 15:28:13 +11:00
Con Kolivas
cdc3c8779a
32 bit hex encoded variables should be in LE with GBT.
2012-11-04 14:58:24 +11:00
Con Kolivas
2914a5eddf
Target and prevblockhash need to be reversed from GBT variables.
2012-11-04 12:18:59 +11:00
Con Kolivas
6b34faf83c
Construct block for submission when using GBT.
2012-11-04 10:24:09 +11:00
Con Kolivas
59087a5d77
Use same string for debug as for submission and make string larger to cope with future GBT messages.
2012-11-04 08:59:00 +11:00
Con Kolivas
914e88bbad
Skip trying to decipher LP url if we have GBT support.
2012-11-04 08:46:58 +11:00
Con Kolivas
c5c5fb8273
Store all the transaction hashes in pool->txn_hashes instead of separating txn0 and correct generation of merkle root, fixing memory overwrites.
2012-11-04 08:35:50 +11:00
Con Kolivas
5acb182ec1
Hook into various places to generate GBT work where appropriate.
2012-11-04 02:07:45 +11:00
Con Kolivas
875ca0fcc6
Create extra work fields when generating GBT work.
2012-11-04 01:07:01 +11:00
Con Kolivas
2bfb293fe3
Generate header from correct hashing generation of the merkle root for GBT.
2012-11-04 00:52:50 +11:00
Con Kolivas
cbc246eace
Generate the merkle root for gbt work generation.
2012-11-03 19:45:37 +11:00
Con Kolivas
8d0f748246
Create a store of the transactions with GBT in the minimum size form required to generate work items with a varied coinbase.
2012-11-03 13:27:41 +11:00
Con Kolivas
4a72a1574f
Create a function that generates a GBT coinbase from the existing pool variables.
2012-11-01 22:34:08 +11:00
Con Kolivas
813e814f6c
Extract and store the various variables GBT uses when decoding gbt work.
2012-11-01 16:56:54 +11:00
Con Kolivas
432b2636d5
Check for invalid json result in work_decode.
2012-11-01 15:41:32 +11:00
Con Kolivas
56b16953a9
Decode work in separate functions for getwork vs gbt.
2012-11-01 15:40:07 +11:00
Con Kolivas
26e0115030
Check for the coinbase/append mutable in GBT support to decide whether to use it or not.
2012-11-01 15:36:22 +11:00
Con Kolivas
d10699d4c3
Add a gbt mutex within the pool struct for protecting the gbt values.
2012-11-01 14:24:55 +11:00
Con Kolivas
8afc1f6512
Convert work decode function to prepare for decoding block templates.
2012-11-01 14:05:25 +11:00
Con Kolivas
1c456d4fb3
Check for GBT support on first probing the pool and convert to using the GBT request as the rpc request for that pool.
2012-11-01 13:53:12 +11:00
Con Kolivas
f4cc59f25f
Make the rpc request used with getwork a pool variable to allow it to be converted to/from gbt requests.
2012-11-01 13:06:34 +11:00
Con Kolivas
7e17af6913
Merge pull request #322 from luke-jr/bugfix_stratum_tmpwork
...
Bugfix: Initialize temporary stratum work
2012-10-29 21:48:59 -07:00
Con Kolivas
e19c5d9db9
Set sshare id and swork_id within the sshare mutex to avoid multiple share submits with the same id.
2012-10-29 21:28:15 +11:00
Luke Dashjr
280486a748
Bugfix: Initialize temporary stratum work
...
Without this, work.mandatory might have been true skipping block change handling code
This caused newfound shares to be considered stale always, and bitforce devices to constantly restart work
2012-10-29 07:14:29 +00:00
Con Kolivas
d92609e665
Fail on select() failing in stratum thread without needing to attempt recv_line.
2012-10-29 16:47:43 +11:00
Con Kolivas
843fa3397e
Add share to stratum database before sending it again in case we get a response from the pool before it's added.
2012-10-29 16:37:25 +11:00
Con Kolivas
d28a844f61
Shorten the stratum timeout on read to 90 seconds to detect unresponsive pool.
2012-10-29 12:33:25 +11:00
Con Kolivas
c086ef8049
Display best share difficulty on exit.
2012-10-29 12:23:58 +11:00
Con Kolivas
6f4c47ebd2
Make stratum socket fail more robust on windows by disabling the send buffer.
...
Reuse the same curl handle forcing a new connection instead of risking derefencing.
Add information about submission failure to stratum send.
2012-10-29 12:08:10 +11:00
Con Kolivas
cafe9aac54
Only add stratum share to database if we succeeded in submitting it, with a debug output saying it succeeded.
2012-10-28 14:43:47 +11:00
Con Kolivas
d9276557f1
Show only the URL in the status bar to avoid long prefixes making for extra long lines.
2012-10-27 23:20:10 +11:00
Con Kolivas
2e56706cc6
Display compact status in menu and update README to reflect current menu entries.
2012-10-27 23:06:37 +11:00
Con Kolivas
d97e19f1c8
Add a compact display mode that does not list per device statistics in the status window.
2012-10-27 22:55:47 +11:00
Con Kolivas
784a41c8b5
Add blank spaces after best share displayed.
2012-10-27 22:17:30 +11:00
Con Kolivas
d85b60c09b
Round a few static string arrays up to 4 byte boundaries for ARM.
2012-10-27 17:28:42 +11:00
Con Kolivas
7bca8a0ab0
Display best share diff for scrypt as well.
2012-10-27 17:27:06 +11:00
Con Kolivas
27aa82aab6
Show the best diff share as "best share" and add info to the README.
2012-10-27 17:21:22 +11:00
Con Kolivas
a6cb920a9e
Display the best diff share submitted so far.
2012-10-27 16:49:00 +11:00
Con Kolivas
f7b79e34cf
Redundant check.
2012-10-27 12:33:46 +11:00
Con Kolivas
68c881fde7
Handle crash exceptions by trying to restart cgminer unless the --no-restart option is used.
2012-10-23 20:17:10 +11:00
Con Kolivas
9ccc418a6c
Switch queued count when choosing a different pool from a failed stratum pool in getwork thread.
2012-10-22 23:12:06 +11:00
Con Kolivas
334a9db41a
Put a mandatory 5s wait between reattempting a getwork on failure to avoid hammering requests.
2012-10-22 23:08:38 +11:00
Con Kolivas
17251795c3
Merge pull request #319 from kanoi/mmq
...
MMQ new initialisation (that works) and clocking control
2012-10-17 14:09:15 -07:00
ckolivas
3fce32f494
Use 3 significant digits when suffix string is used and values are >1000.
2012-10-17 10:33:22 +11:00
Kano
fc14b2ee07
MMQ new initialisation (that works) and clocking control
2012-10-17 09:56:42 +11:00
Con Kolivas
2aa5163b8b
Cope with dval being zero in suffix_string and display a single decimal place when significant digits is not specified but the value is greater than 1000.
2012-10-16 22:04:05 +11:00
Con Kolivas
54d2999d77
Pad out the suffix string function with zeroes on the right.
2012-10-16 21:20:02 +11:00
Con Kolivas
99adf397bd
Failure to calloc in bin2hex is a fatal failure always so just check for that failure within the function and abort, simplifying the rest of the code.
2012-10-16 19:47:31 +11:00
ckolivas
5fcc8612b4
Clear the pool idle flag in stratum when it comes back to life.
2012-10-16 14:56:50 +11:00
Con Kolivas
7adb7a30e6
Display correct share hash and share difficulty with scrypt mining.
2012-10-15 23:10:24 +11:00
Con Kolivas
57aac5040c
Show work target diff for scrypt mining.
2012-10-15 17:29:33 +11:00
Con Kolivas
d4f8a0b2b5
Round target difficulties down to be in keeping with the rounding of detected share difficulties.
2012-10-15 10:29:44 +11:00
Con Kolivas
bd377f767f
Align static arrays to 4 byte boundaries to appease ARM builds for stratum.
2012-10-14 03:35:01 +11:00
Con Kolivas
13676ef11a
Left align values that are suffix_string generated.
2012-10-12 18:00:14 +11:00
Con Kolivas
f22fe76157
Share_diff should not be converting the work data to hex.
2012-10-12 17:36:48 +11:00
Con Kolivas
7c7e51166b
Disable stratum detection with scrypt.
2012-10-12 14:53:16 +11:00
Con Kolivas
c3bdb359d5
Use the suffix string function when displaying device hashrates.
2012-10-12 14:52:14 +11:00
Con Kolivas
660a0ffe16
Correct variables used in get_statline
2012-10-12 14:46:55 +11:00
Con Kolivas
a10e3294bd
Be consistent with the get_statline function.
2012-10-12 14:41:13 +11:00
Con Kolivas
911b1788c7
Use the suffix string function for displaying hashrate with 4 significant digits.
2012-10-12 14:40:02 +11:00
Con Kolivas
420fdf32d6
Display the actual share diff next to the pool required diff, using a suffix creation function to prevent values of >1000 being shown in their entirety.
2012-10-12 14:17:29 +11:00
Con Kolivas
d211f8e0b0
Create a fix-protocol option which prevents cgminer from switching to stratum if it's detected.
2012-10-11 19:52:40 +11:00
Con Kolivas
5ed6e9d55e
Simplify target generation code.
2012-10-11 19:31:24 +11:00
ckolivas
ca962ee58b
Use a 64 bit unsigned integer on the diff target to generate the hex target.
2012-10-11 10:46:45 +11:00
Con Kolivas
ef6ad423e3
Only copy the stratum url to the rpc url if an rpc url does not exist.
2012-10-10 23:46:49 +11:00
Con Kolivas
974f65c67f
Ignore the value of stratum_active on calling initiate_stratum and assume we're always trying to reinitiate it, and set the active flag to false in that function.
2012-10-10 23:22:24 +11:00
Con Kolivas
07605fad60
stratum auth can be unset if we fail to authorise on subsequent calls to auth_stratum which undoes the requirement of setting it in one place so set it in pool_active.
2012-10-10 23:07:33 +11:00
Con Kolivas
80d4355737
Remove free that could segfault.
2012-10-08 23:00:37 +11:00
Con Kolivas
7d6bcab899
Use the stratum url as the rpc url advertised if we switch to it.
2012-10-08 22:15:30 +11:00
Con Kolivas
662ab1eff7
Count each stratum work item as local work.
2012-10-08 21:34:46 +11:00
Con Kolivas
2023e53fb2
Cope with one stratum pool being the only active pool when it dies by sleeping for 5 seconds before retrying to get work from it instead of getting work indefinitely.
2012-10-08 13:48:18 +11:00
Con Kolivas
ef822a25ed
Detect stratum outage based on either select timing out or receiving an empty buffer and properly re-establish connection by disabling the stratum_active flag, coping with empty buffers in parse_stratum.
2012-10-08 11:08:04 +11:00
Con Kolivas
0a90207111
Merge branch 'master' into stratum
2012-10-07 13:22:17 +11:00
Con Kolivas
461b7c6de2
Display correct pool number when block is found.
2012-10-06 15:12:05 +10:00
Con Kolivas
8a32f381b4
Use the stratum thread to detect when a stratum pool has died based on no message for 2 minutes.
2012-10-06 14:33:51 +10:00
Con Kolivas
0cddd1ab54
Only set the stratum auth flag once and once the stratum thread is started, use that to set/unset the stratum active flag.
2012-10-06 12:17:46 +10:00
Con Kolivas
7a01578cc5
Only hand off to stratum from getwork if we succeed in initiating the protocol.
2012-10-06 10:14:30 +10:00
Con Kolivas
8893f7ab23
Target should only be 32 bytes copied.
2012-10-06 01:13:52 +10:00
Con Kolivas
687fed1de9
Use a static array for work submission data instead of stack memory.
2012-10-05 19:03:28 +10:00
Con Kolivas
c4aa8d267c
Clear the buffer data before sprinting to it.
2012-10-05 19:02:10 +10:00
Con Kolivas
f0901e0a26
Clear work stratum strings before setting them and add them to debug output.
2012-10-05 18:09:10 +10:00
Con Kolivas
a8d693029a
Move stratum sockets to curl infrastructure with locking around send+recv to begin support for proxies and ssl.
2012-10-05 12:37:29 +10:00
Con Kolivas
591c433477
Make detect stratum fail if a proxy has been set up.
2012-10-05 09:41:23 +10:00
Con Kolivas
51c499a5ae
Stratum does not currently have any proxy support so do not try to switch to stratum if a proxy has been specified.
2012-10-05 00:10:00 +10:00
Con Kolivas
deb0a9b644
Windows doesn't work with MSG_PEEK on recv so move to a continuously updating buffer for incoming messages.
2012-10-04 23:18:33 +10:00
Con Kolivas
3c85498d57
Add space to reject reason.
2012-10-04 09:38:05 +10:00
Con Kolivas
b4450bb852
Parse the reject reason where possible from stratum share submission.
2012-10-04 09:17:28 +10:00
Con Kolivas
512d244094
Pass json error value to share result function to be able to parse reject reason in stratum.
2012-10-04 08:52:56 +10:00
Con Kolivas
9698858abc
Remove the sshare hash entry if we failed to send it.
2012-10-03 18:19:31 +10:00
Con Kolivas
284b786da7
Check the stratum pool difference has not changed compared to the work diff when testing whether a share meets the target or not and retarget if necessary.
2012-10-03 11:18:08 +10:00
Con Kolivas
ac0c813f9d
Bit error in target calculation for stratum.
2012-10-03 10:33:11 +10:00
Con Kolivas
310239b8e8
Revert "Parse reject reason from the stratum json error code if there is one."
...
This reverts commit c6a3d065fa
.
Segfaults. Needs work.
2012-10-03 10:20:54 +10:00
Con Kolivas
3d982dfbe9
Set work_block in gen_stratum_work for when work is reused to avoid thinking it's all stale.
2012-10-03 09:49:01 +10:00
Con Kolivas
74c11945f0
Offset the current block detection to the prev block hash.
2012-10-03 09:42:20 +10:00
Con Kolivas
c6a3d065fa
Parse reject reason from the stratum json error code if there is one.
2012-10-03 08:55:02 +10:00
Con Kolivas
9e0e61509d
We should be testing for id_val, not id in parse stratum response.
2012-10-03 01:14:35 +10:00
Con Kolivas
fdaabf59c6
Make target on stratum scale to any size by clearing sequential bits according to diff.
2012-10-03 00:35:08 +10:00
Con Kolivas
a8a8ed6207
Correct target calculation in gen_stratum_work.
2012-10-02 16:01:32 +10:00
Con Kolivas
925d01922b
If a share result has an error code but still has an id, it is likely a reject, not an error.
2012-10-02 14:12:34 +10:00
Con Kolivas
1b7aa48c8f
Initiate stratum the first time in pool_active only, allowing us to switch to it on getting a failed getwork and detecting the presence of stratum on the url at that time.
2012-10-02 11:46:48 +10:00
Con Kolivas
210bc9be3e
If no stratum url is set by the end of the detect stratum routine, copy the sockaddr url.
2012-10-02 10:02:25 +10:00
Con Kolivas
78aafcec5c
Make all buffers slightly larger to prevent overflow.
2012-10-02 09:26:18 +10:00
Con Kolivas
df91df3507
Userpass needs to be copied to user and pass earlier to allow stratum authorisation to work with it.
2012-10-02 02:03:52 +10:00
Con Kolivas
2941febd05
Store a sockaddr url of the stripped url used in determining sockaddr to not confuse it with the stratum url and fix build warnings.
2012-10-02 00:00:55 +10:00
Con Kolivas
2ccb6d78ca
Decrease the queued count with stratum work once it's staged as well.
2012-10-01 23:19:34 +10:00
Con Kolivas
601d1aca97
Allow the stratum retry to initiate and auth stratum in pool_alive to make sure the stratum thread is started.
2012-10-01 23:15:50 +10:00
Con Kolivas
4a7ce9dd2a
Avoid duplicating pool->rpc_url and setting pool->stratum_url twice to itself.
2012-10-01 22:21:43 +10:00
Con Kolivas
eaf7ed0dcd
Detect if a getwork based pool has the X-Stratum header on startup, and if so, switch to the stratum based pool.
2012-10-01 22:13:20 +10:00
Con Kolivas
b495a51b76
Comment update.
2012-10-01 18:50:32 +10:00
Con Kolivas
2aacd89aa8
Minor message change.
2012-10-01 18:46:33 +10:00
Con Kolivas
90b1893746
Create a work item from a "clean" request from stratum allowing the new block to be detected and the appropriate block change message to be given.
2012-10-01 18:43:24 +10:00
Con Kolivas
b97a33a58a
Use statically allocated stratum strings in struct work to cope with the inability to safely deallocate dynamically allocated ram.
2012-10-01 14:44:44 +10:00
Con Kolivas
e93f679ae4
Use the current pool when deciding whether to reuse work from a stratum source rather than the work's previous pool.
2012-09-30 23:44:27 +10:00
Con Kolivas
6174c80678
Copy the stratum url to the rpc url to avoid none being set.
2012-09-30 23:36:05 +10:00
Con Kolivas
b5617734fa
Provide locking around stratum send operations to avoid races.
2012-09-30 23:10:43 +10:00
Con Kolivas
8baac0d66d
Submit shares from stratum through the abstracted submit share function detecting what message they belong to and showing the data from the associated work, and then deleting it from the hash.
2012-09-30 23:03:45 +10:00
Con Kolivas
2de951518e
Abstract out share submit as a function to be useable by stratum.
2012-09-30 20:24:24 +10:00
Con Kolivas
739cba28a7
Rename parse_stratum to parse_method as it is only for stratum messages that contain methods.
2012-09-30 19:19:46 +10:00
Con Kolivas
b871f69f62
Display stratum as mechanism in status line when current pool is running it.
2012-09-30 19:13:50 +10:00
Con Kolivas
6593b89328
Correct nonce submitted with share.
2012-09-30 16:47:06 +10:00
Con Kolivas
41acd23d0f
Extranonce2 should be added before coinbase2.
2012-09-29 23:59:55 +10:00
Con Kolivas
fb987fd25a
We should be hashing the binary coinbase, not the hex one.
2012-09-29 19:15:58 +10:00
Con Kolivas
61360952f5
Fix endianness of nonce submitted for stratum.
2012-09-29 17:44:19 +10:00
Con Kolivas
fab9ff3cb7
Revert "Free stratum buffers added to the work struct when freeing work ram."
...
This reverts commit 13fdff6531
.
Not always allocated... needs some more thought.
2012-09-29 16:10:44 +10:00
Con Kolivas
7415d7aaa0
Begin implementing a hash database of submissions and attempt sending results.
2012-09-29 16:10:13 +10:00
Con Kolivas
13fdff6531
Free stratum buffers added to the work struct when freeing work ram.
2012-09-29 15:13:18 +10:00
Con Kolivas
aa93fa336c
Copy parameters from stratum work required for share submission.
2012-09-29 15:02:23 +10:00
Con Kolivas
4a29759480
Set lagging flag on first adding a pool to prevent pool slow warning at startup.
2012-09-29 14:48:34 +10:00
Con Kolivas
73d61ca4c3
Fix work->target being a 32 byte binary in gen_stratum_work.
2012-09-29 14:25:21 +10:00
Con Kolivas
ac47f7f3a6
Store and display stripped url in its own variable.
2012-09-29 14:16:16 +10:00
Con Kolivas
3db6fb4fac
Create machinery to divert work requests to stratum.
2012-09-29 13:07:00 +10:00
Con Kolivas
636f4b14d7
Generate the work target in gen_stratum_work, setting default diff to 1 in case it is not yet set.
2012-09-29 11:38:52 +10:00
Con Kolivas
2e9ade14a9
Generate work data, midstate and hash1 in gen_stratum_work.
2012-09-29 11:12:59 +10:00
Con Kolivas
e1468cc5fd
Generate header created from stratum structures in gen_stratum_work.
2012-09-29 11:02:25 +10:00
Con Kolivas
5c74be5930
Generate merkle root hash in gen_stratum_work.
2012-09-29 10:30:56 +10:00
Con Kolivas
1f6fe55152
Generate the coinbase for generation of stratum based work.
2012-09-29 02:16:22 +10:00
Con Kolivas
54ab28fd6e
Provide rudimentary support for stratum clean work command in the stratum thread.
2012-09-29 00:38:09 +10:00
Con Kolivas
04551445f6
Cope with pools being removed in the stratum thread.
2012-09-29 00:23:27 +10:00
Con Kolivas
0f1f2a62a6
Use the pool sock value directly in the stratum thread in case it changes after reconnecting.
2012-09-28 18:04:28 +10:00
Con Kolivas
56255a0c86
Create a stratum thread per pool that has stratum that monitors the socket and serves received data.
2012-09-28 18:01:33 +10:00
Con Kolivas
a6f1a62220
Create helper functions for checking when a socket is ready to read on and receive a single line at a time.
...
Begin stratum authorisation process.
2012-09-28 04:35:16 +10:00
Con Kolivas
30b665f021
Test specifically for stratum being active in pool_active.
2012-09-27 13:01:12 +10:00
Con Kolivas
f6f43500c0
Detect stratum in common place when adding urls, and use a bool to tell us when it's active.
2012-09-27 09:06:56 +10:00
Con Kolivas
a1b17229b8
Initiate stratum and grab first json result.
2012-09-26 15:23:01 +10:00
Con Kolivas
58873c1dfa
Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now.
2012-09-25 20:23:59 +10:00
Con Kolivas
ee3b7865e2
Prepare for getaddrinfo call.
2012-09-25 05:46:07 +10:00
Kano
5e7e150b12
hashmeter fix stats kh/s on 32bit windows
2012-09-24 23:34:10 +10:00
Con Kolivas
823a710a54
Display share difficulty on log with a shortened hash display on submission.
2012-09-24 14:08:35 +10:00
Kano
7c32562d80
API stats add some pool getwork difficulty stats
2012-09-24 11:34:50 +10:00
Con Kolivas
fd28d9f407
Ignore any pings pushed to the worker threads if the thread is still paused to prevent it being enabled and disabled repeatedly.
2012-09-24 09:03:27 +10:00
Con Kolivas
57a73dce34
Test for sequential getwork failures on a pool that might actually be up but failing to deliver work as we may end up hammering it repeatedly by mistake.
2012-09-24 08:30:07 +10:00
Kano
a6bf276f6b
API - Add last share difficulty for devices and pool
2012-09-19 01:14:43 +10:00
Kano
89b6989fb3
Store and report Accepted,Rejected,Stale difficulty in the summary and API
2012-09-19 00:54:55 +10:00
Kano
7ede5a59bd
WorkTime - display prevblock for scrypt
2012-09-18 14:30:46 +10:00
Kano
923b9e0d86
Calculate work difficulty for each getwork and display with WorkTime debug
2012-09-18 11:19:57 +10:00
Kano
796f3906c1
WorkTime - multiple nonce per work and identify the work source
2012-09-16 07:57:43 +10:00
Kano
bd3c98aaaf
Optional WorkTime details with each Accepted/Rejected work item
2012-09-15 14:04:57 +10:00
Kano
99f0607fb2
API add display of and setting queue,scantime,expiry
2012-09-12 23:26:43 +10:00
Kano
e649aa3906
HW: dont submit bad shares
2012-09-12 20:10:00 +10:00
Kano
fced503ed6
save individual pool proxy settings to config
2012-09-12 19:45:49 +10:00
Kano
0ac350547e
--default-config - allow command line to define the default configuration file for loading and saving
2012-09-12 19:32:37 +10:00
Kano
cef9731fbc
CURL support for individual proxy per pool and all proxy types
2012-09-12 07:44:00 +10:00
Kano
307d8da034
HW: error counter auto for all devices - ztex code not fixed
2012-09-04 15:57:11 +10:00
Kano
fd2034ce77
Merge branch 'main'
2012-09-04 00:56:35 +10:00
Kano
4023872b76
count device diff1 shares
2012-09-01 23:51:51 +10:00
Kano
568b0fed89
API allow full debug settings control
2012-09-01 18:21:08 +10:00
Con Kolivas
57c3b12f64
Sort the blocks database in reverse order, allowing us to remove the first block without iterating over them. Output the block number to debug.
2012-08-31 12:04:16 +10:00
Con Kolivas
f97bf2e2ac
Keep the local block number in the blocks structs stored and sort them by number to guarantee we delete the oldest when ageing the block struct entries.
2012-08-28 20:16:50 +10:00
Con Kolivas
b768758818
Test for lagging once more in queue_request to enable work to leak to backup pools.
2012-08-27 10:15:48 +10:00
Con Kolivas
579c1299c6
There is no need to try to switch pools in select_pool since the current pool is actually not affected by the choice of pool to get work from.
2012-08-27 10:10:50 +10:00
Con Kolivas
4a210d4eff
Only clear the pool lagging flag if we're staging work faster than we're using it.
2012-08-27 10:02:53 +10:00
Con Kolivas
d1683f75c9
needed flag is currently always false in queue_request. Remove it for now.
2012-08-27 09:55:19 +10:00
Con Kolivas
1b7db5bc9c
thr is always NULL going into queue_request now.
2012-08-27 09:47:55 +10:00
Con Kolivas
0e0093e602
Select pool regardless of whether we're lagging or not, and don't queue another request in switch pool to avoid infinite recursion.
2012-08-24 01:23:54 +10:00
Con Kolivas
7992e5f3c8
Carry the needed bool over the work command queue.
2012-08-24 00:41:14 +10:00
Con Kolivas
37fa7d36d4
Move the decision to queue further work upstream before threads are spawned based on fine grained per-pool stats and increment the queued count immediately.
2012-08-24 00:35:26 +10:00
Con Kolivas
618b3e8b11
Track queued and staged per pool once again for future use.
2012-08-23 23:50:38 +10:00
Con Kolivas
4ca288e820
Limit queued_getworks to double the expected queued maximum rather than factoring in number of pools.
2012-08-23 16:55:14 +10:00
Con Kolivas
ad90269508
Minimise the number of getwork threads we generate.
2012-08-23 16:33:24 +10:00
Con Kolivas
0feb679b67
Only keep the last 6 blocks in the uthash database to keep memory usage constant. Storing more is unhelpful anyway.
2012-08-23 12:19:23 +10:00
Con Kolivas
b74b54d95b
Check we haven't staged work while waiting for a curl entry before proceeding.
2012-08-23 11:09:09 +10:00
Con Kolivas
61df3013a8
Ignore the submit_fail flag when deciding whether to recruit more curls or not since we have upper bounds on how many curls can be recruited, this test is redundant and can lead to problems.
2012-08-22 23:03:17 +10:00
ckolivas
edd9b81622
Do not add time to dynamic opencl calculations over a getwork.
2012-08-22 10:07:20 +10:00
Con Kolivas
9de3a264fc
Increase max curls to number of mining threads + queue * 2, accounting for up and downstream comms.
2012-08-21 22:51:34 +10:00
Con Kolivas
3ab5dba67e
Queue enough requests to get started.
2012-08-21 22:50:09 +10:00
Con Kolivas
3ebe8e8c77
Revert "Scale maximum number of curls up according to work submission rate."
...
This reverts commit 1dff48e759
.
Did not increase staged work even though it decreased queues.
2012-08-21 22:09:11 +10:00
Con Kolivas
3ceb57b8f6
There is no point trying to clone_work in get_work() any more since we clone on every get_work_thread where possible.
2012-08-21 21:54:33 +10:00
Con Kolivas
787e40a7cc
There is no point subtracting 1 from maxq in get_work_thread.
2012-08-21 21:53:35 +10:00
Con Kolivas
1dff48e759
Scale maximum number of curls up according to work submission rate.
2012-08-21 21:50:20 +10:00
Con Kolivas
56be75228e
Roll back to 45f0ac7b48
2012-08-21 21:22:26 +10:00
Con Kolivas
c1886c9c99
Assume we need a full allotment of work after lp and make clone_work clone_lpwork only.
2012-08-21 21:13:14 +10:00
Con Kolivas
82fa6e25d5
There is no point running through clone_work from get_work() now that cloning is done from the get_work_thread.
2012-08-21 21:11:22 +10:00
Con Kolivas
caa266ca3b
Make opt_queue a function of mining threads in clone_work as well.
2012-08-21 21:10:23 +10:00
Con Kolivas
652efc6939
opt_queue should be a function of the number of mining threads.
2012-08-21 21:08:17 +10:00
Con Kolivas
8ed381f78a
Only set lagging flag once there are no staged work items.
2012-08-21 19:47:30 +10:00
Con Kolivas
f5ac84b804
select_pool does not switch back to the primary once lagging is disabled.
2012-08-21 19:32:05 +10:00