Con Kolivas
757922e4ce
Use the work clone flag to determine if we should subtract it from the total queued variable and provide a subtract queued function to prevent looping over locked code.
2012-06-25 00:33:47 +10:00
Con Kolivas
49dd8fb548
Don't decrement staged extras count from longpoll work.
2012-06-25 00:25:38 +10:00
Con Kolivas
d93e5f710d
Count longpoll's contribution to the queue.
2012-06-25 00:23:58 +10:00
Con Kolivas
05bc638d97
Increase queued count before pushing message.
2012-06-25 00:08:50 +10:00
Con Kolivas
32f5272123
Revert "With better bounds on the amount of work cloned, there is no need to age work and ageing it was picking off master work items that could be further rolled."
...
This reverts commit 5d90c50fc08644c9b0c3fb7d508b2bc84e9a4163.
2012-06-25 00:03:37 +10:00
Con Kolivas
5d90c50fc0
With better bounds on the amount of work cloned, there is no need to age work and ageing it was picking off master work items that could be further rolled.
2012-06-24 23:38:24 +10:00
Con Kolivas
47f66405c0
Alternatively check staged work count for rolltime capable pools when deciding to queue requests.
2012-06-24 23:10:02 +10:00
Con Kolivas
efa9569b66
Test we have enough work queued for pools with and without rolltime capability.
2012-06-24 22:59:56 +10:00
Con Kolivas
1bbc860a15
Don't count longpoll work as a staged extra work.
2012-06-24 22:47:51 +10:00
Con Kolivas
ebaa615f6d
Count extra cloned work in the total queued count.
2012-06-24 22:16:04 +10:00
Con Kolivas
74cd6548a9
Use a static base measurement difference of how many items to clone since requests_staged may not climb while rolling.
2012-06-24 22:00:37 +10:00
Con Kolivas
7b57df1171
Allow 1/3 extra buffer of staged work when ageing it.
2012-06-24 21:58:52 +10:00
Con Kolivas
53269a97f3
Revert "Simplify the total_queued count to those staged not cloned and remove the locking since it's no longer a critical value."
...
This reverts commit 9f811c528f6eefbca5f16c92181783f756e3a68f.
2012-06-24 21:57:49 +10:00
Con Kolivas
a05c8e3fd9
Revert "Take into account total_queued as well when deciding whether to queue a fresh request or not."
...
This reverts commit b20089fdb70a52ec029375beecebfd47efaee218.
2012-06-24 21:57:18 +10:00
Con Kolivas
750474bcfb
Revert "Further simplify the total_queued counting mechanism and do all dec_queued from the one location."
...
This reverts commit 790acad9f9223e4d532d8d38e00737c79b8e40fb.
2012-06-24 21:56:53 +10:00
Con Kolivas
d2c1a6bd6b
Revert "Make sure to have at least one staged work item when deciding whether to queue another request or not and dec queued in free work not discard work."
...
This reverts commit c8601722752bcc6d3db7efd0063f7f2d7f2f7d2a.
2012-06-24 21:56:36 +10:00
Con Kolivas
c860172275
Make sure to have at least one staged work item when deciding whether to queue another request or not and dec queued in free work not discard work.
2012-06-24 21:52:07 +10:00
Con Kolivas
790acad9f9
Further simplify the total_queued counting mechanism and do all dec_queued from the one location.
2012-06-24 21:42:34 +10:00
Con Kolivas
b20089fdb7
Take into account total_queued as well when deciding whether to queue a fresh request or not.
2012-06-24 20:59:55 +10:00
Con Kolivas
ded16838db
Add the getwork delay time instead of subtracting it when determining if a share is stale.
2012-06-24 20:48:02 +10:00
Con Kolivas
b5757d124b
Don't count getwork delay when determining if shares are stale.
2012-06-24 20:45:47 +10:00
Con Kolivas
9f811c528f
Simplify the total_queued count to those staged not cloned and remove the locking since it's no longer a critical value.
...
Clone only anticipated difference sicne there will be a lag from the value returned by requests_staged().
Keep 1/3 buffer of extra work items when ageing them.
2012-06-24 20:38:40 +10:00
Con Kolivas
411784a99d
As work is sorted by age, we can discard the oldest work at regular intervals to keep only 1 of the newest work items per mining thread.
2012-06-24 19:53:31 +10:00
Con Kolivas
359635a8cf
Only roll enough work to have one staged work for each mining thread.
2012-06-24 18:44:09 +10:00
Con Kolivas
0c970bbd1c
Roll work again after duplicating it to prevent duplicates on return to the clone function.
2012-06-24 18:22:20 +10:00
Con Kolivas
610302afcb
Abstract out work cloning and clone $mining_threads copies whenever a rollable work item is found and return a clone instead.
2012-06-24 18:10:17 +10:00
Con Kolivas
a8ae1a43ea
Rolltime should be used as the cutoff time for primary work as well as the rolled work, if present.
2012-06-24 14:38:31 +10:00
Con Kolivas
c20a89d998
Take into account average getwork delay as a marker of pool communications when considering work stale.
2012-06-24 14:20:29 +10:00
Con Kolivas
f32ffb8718
Work out a rolling average getwork delay stored in pool_stats.
2012-06-24 13:20:17 +10:00
Con Kolivas
4e60a62ae2
Getwork delay in stats should include retries for each getwork call.
2012-06-24 12:55:56 +10:00
ckolivas
6a45cbbdfb
Merge branch 'master' of https://github.com/ckolivas/cgminer
2012-06-23 23:45:08 +10:00
ckolivas
c5a21fabf0
Extend nrolltime to support the expiry= parameter. Do this by turning the rolltime bool into an integer set to the expiry time. If the pool supports rolltime but not expiry= then set the expiry time to the standard scantime.
2012-06-23 23:43:22 +10:00
Paul Sheppard
6ce4871b94
Merge branch 'conf_pools'
2012-06-20 15:49:51 -07:00
Paul Sheppard
0bcdc2cac4
Add ability to disable pools in config file.
...
Also fix pool writing in priorty order.
2012-06-20 15:49:07 -07:00
Paul Sheppard
57fa2be13b
Write pools in priority order
2012-06-20 11:40:28 -07:00
Paul Sheppard
e037028159
Merge branch 'master' of https://github.com/ckolivas/cgminer.git
...
Conflicts:
driver-bitforce.c
2012-06-19 10:40:00 -07:00
Con Kolivas
f70577b097
Merge pull request #229 from luke-jr/modminer_primary
...
modminer: Don't delay 2nd+ FPGAs during work restart
2012-06-19 04:38:49 -07:00
Luke Dashjr
1215da39ee
modminer: Don't delay 2nd+ FPGAs during work restart
...
Add primary_thread boolean to threads to identify a single one as the "primary" thread for shared-resource multithreading.
This is needed since ModMiners use multiple threads to interface with independent hashing components.
2012-06-18 05:51:09 +00:00
Paul Sheppard
af27b40e34
Merge branch 'master' of https://github.com/pshep/cgminer.git
2012-06-17 09:47:02 -07:00
Paul Sheppard
fe4c0869bf
Merge branch 'master' of git://github.com/ckolivas/cgminer.git
...
Conflicts:
cgminer.c
2012-06-17 09:44:42 -07:00
Paul Sheppard
7ae22e21e3
Disable OpenCL code when not available.
2012-06-16 20:24:40 -07:00
Con Kolivas
8faf3c90b8
Fix openwrt crashing on regeneratehash() by making check_solve a noop.
2012-06-16 09:22:11 +10:00
Paul Sheppard
6ed75c96cb
Remove nDev limit in watchdog_thread
...
Can't work out why it was even there... so there could still be a reason
for it!
2012-06-15 12:11:28 -07:00
Paul Sheppard
fa3f357fc1
Sick/dead handling for non-gpus
2012-06-14 17:36:59 -07:00
Paul Sheppard
bc4a259af7
Merge branch 'master' of git://github.com/ckolivas/cgminer.git
2012-06-14 08:13:07 -07:00
Con Kolivas
bf3e15838f
Fix sign warning.
2012-06-14 21:36:23 +10:00
Con Kolivas
83bf9f4334
can_roll and should_roll should have no bearing on the cycle period within the miner_thread so remove it.
2012-06-14 20:53:07 +10:00
Con Kolivas
ceec3f83c3
Check for strategy being changed to load balance when enabling LPs.
2012-06-14 20:36:17 +10:00
Con Kolivas
b0de3edeb8
Check that all threads on the device that called get_work are waiting on getwork before considering the pool lagging.
2012-06-14 17:28:24 +10:00
Con Kolivas
44f5d55d51
Iterate over each thread belonging to each device in the hashmeter instead of searching for them now that they're a list.
2012-06-14 17:16:37 +10:00