Con Kolivas
f91a048ae7
Implement the actual switch logic which changes over after 5 minutes of local work generation.
2011-07-19 13:30:29 +10:00
Con Kolivas
81ff7fb3dc
Explicitly probe each pool to see if work can be retrieved from it and what it supports.
2011-07-19 13:01:08 +10:00
Con Kolivas
913e120262
Test for rolltime and save it correctly when testing for longpoll.
2011-07-19 12:29:33 +10:00
Con Kolivas
0ce3df10d2
Store whether each server supports X-Roll-Ntime or not.
2011-07-19 11:45:58 +10:00
Con Kolivas
321c4798d4
Make longpoll switch servers should it not match the current pool.
2011-07-19 10:53:04 +10:00
Con Kolivas
529aa70c38
Set pool on work retrieved from longpoll.
2011-07-19 10:32:24 +10:00
Con Kolivas
048bea201f
Set first localgen time to max.
2011-07-19 10:31:05 +10:00
Con Kolivas
ecda75946b
Set and get the current pool under lock.
2011-07-19 10:19:59 +10:00
Con Kolivas
b8ba2fd44e
Implement a per-pool mutex and use that for locking the internal flags.
2011-07-19 09:54:50 +10:00
Con Kolivas
fd10b993b0
Move add pool to somewhere clean and obvious.
2011-07-19 09:43:15 +10:00
Con Kolivas
7073493911
Merge branch 'cgminer' into pools
...
Conflicts:
main.c
2011-07-19 01:46:16 +10:00
Con Kolivas
a46b5d1e0a
Make it possible to pass multiple urls/users etc in preparation for multiple pool support but only use pool 0 for now.
2011-07-19 01:27:56 +10:00
Con Kolivas
19b80d6db3
Curl's global init can trample dynamically allocated data so do it before anything else.
2011-07-19 00:14:58 +10:00
Con Kolivas
961c43067b
Abstract out the pool data to begin move to multiple pool support.
2011-07-19 00:09:45 +10:00
Con Kolivas
1d27c119b6
Don't let total_queued go below zero.
2011-07-18 22:02:10 +10:00
Con Kolivas
8220af8806
Avoid queueing extra work if there's work staged as well.
2011-07-18 20:22:16 +10:00
Con Kolivas
c3e569ed9b
Copied the data to longpoll_block too early so the longpoll message will rarely be received.
...
Submit longpoll's converted work after we've flushed requests since that will blank the current_block for stage_thread to see.
2011-07-18 13:16:15 +10:00
Con Kolivas
5e7c37aebb
Make it clear what the sha algorithm is for.
2011-07-18 12:02:37 +10:00
Con Kolivas
e532ac354a
Only clear the longpoll block data if we successfully received a longpoll, and do it before converting the longpoll data to work to avoid the staging thread believing it got the new work before the longpoll.
2011-07-18 11:37:33 +10:00
Con Kolivas
01eb4c599d
Minimise impact on GUIs by dropping priority and policy in gpu mining threads if dynamic mode is enabled.
2011-07-18 11:36:54 +10:00
Con Kolivas
0aa9887300
Add an sse4 algorithm to CPU mining.
2011-07-18 11:27:58 +10:00
Con Kolivas
fc184625d2
We now are guaranteed to have one fresh work item after a block change and we should only discard staged requests.
2011-07-18 10:33:31 +10:00
Con Kolivas
d53ee8e71b
Don't waste the work we retrieve from a longpoll.
2011-07-18 10:19:22 +10:00
Con Kolivas
0c253734e1
Provide a control lock around global bools to avoid racing on them.
2011-07-18 10:12:38 +10:00
Con Kolivas
b6ac9f185e
Revert "Make sure not to try and submit work for nonces higher than already submitted in current work item."
...
This reverts commit a2dd410e362116a12ac5609da77abb3a5ee1b736.
Incorrect fix. Missed real shares that are accepted.
2011-07-17 20:06:43 +10:00
Con Kolivas
1d45b7f475
Revert "Don't miss first work item."
...
This reverts commit 57f5893f4aabdfdbb1395034fefe4ee6c9b8f8ea.
Start reverting. This fix didn't help.
2011-07-17 20:06:25 +10:00
Con Kolivas
57f5893f4a
Don't miss first work item.
2011-07-17 19:36:17 +10:00
Con Kolivas
a2dd410e36
Make sure not to try and submit work for nonces higher than already submitted in current work item.
...
This reduces rejects substantially.
2011-07-17 19:33:53 +10:00
Con Kolivas
eb91b03e22
Show last 8 characters of the share submitted.
2011-07-16 23:31:32 +10:00
Con Kolivas
96cc141ba2
Display URL connected to and user connected as in status.
2011-07-16 17:43:04 +10:00
Con Kolivas
3e032b8a8d
Display current block and when it was started in status line.
2011-07-16 12:48:15 +10:00
Con Kolivas
a1339d723f
Only pthread_join the mining threads if they exist as determined by pthread_cancel.
2011-07-16 11:06:58 +10:00
Con Kolivas
3cb7ef2b07
Create a unique get work queue instead of faking it all to thread 0.
2011-07-16 10:46:50 +10:00
Con Kolivas
0a9db84d26
Make it clear the restart message is going to the watchdog thread.
2011-07-16 10:33:01 +10:00
Con Kolivas
8203cc67eb
Check the current block description hasn't been blanked pending the real new current block data.
2011-07-16 10:28:59 +10:00
Con Kolivas
18af4e6272
Re-enable signal handlers once the custom sighandler has been hit to make it possible to still kill cgminer.
2011-07-16 10:13:49 +10:00
Con Kolivas
70edd0d36f
Disable restarting of CPU mining threads pending further investigation. They may not need it and are easily killed off.
2011-07-16 02:55:43 +10:00
Con Kolivas
274022f260
Message too verbose. Simplify it.
2011-07-16 02:07:52 +10:00
Con Kolivas
55695066b6
Display appropriate messages with/without longpoll to make it clear if stalls happen that cgminer is waiting on more work.
2011-07-16 01:57:04 +10:00
Con Kolivas
3785e50d3f
Add new block data to status line.
2011-07-16 01:47:58 +10:00
Con Kolivas
77b0f946f6
Only do local generation of work if existing work is not stale.
2011-07-16 00:52:57 +10:00
Con Kolivas
4a94199246
Abstract out the test for stale work and test for it in the actual mining threads as well.
2011-07-16 00:34:05 +10:00
Con Kolivas
6dcf05ffaf
Make sure that local work generation does not proceed indefinitely by limiting it to the average block generation time - 10 minutes.
...
Doing more work will just waste power and will virtually never produce accepted shares.
2011-07-15 23:35:38 +10:00
Con Kolivas
aeaeac0889
Allow queue of zero again and make it default since we can track queued vs staged now and see if the queue needs to be bigger.
2011-07-15 10:42:06 +10:00
Con Kolivas
8a40036974
Just insist on 1 lp staged work per mining thread on new block.
2011-07-15 10:27:48 +10:00
Con Kolivas
4c9171792b
Limit the number of work items we put in the queue.
2011-07-15 09:48:26 +10:00
Con Kolivas
32221c4574
We shouldn't be deleting lp_staged value on dec_staged. It prevents detecting get_work failures.
2011-07-15 09:39:29 +10:00
Con Kolivas
23e4add229
Add a system status line to the formatted output.
2011-07-15 09:38:52 +10:00
Con Kolivas
34ecc59f4d
Forgot to set total_devices for the purposes of finding a positive active_device.
2011-07-15 08:56:52 +10:00
Con Kolivas
579bd42919
Revert "Change get_work to use a timeout when trying to tq_pop as a sanity failsafe in case of unusual circumstances."
...
This reverts commit 7b9b0781146dde69378d53bafd3c8817fb8909e9.
Conflicts:
util.c
Timeout was a bandaid for other going-idle reasons and never helped. Revert it.
2011-07-15 08:53:05 +10:00