Con Kolivas
4c5d41a8dd
Merge pull request #243 from kanoi/master
...
define, implement and document API option --api-groups
2012-06-27 16:03:46 -07:00
Con Kolivas
24316fc7fc
Revert "Work is checked if it's stale elsewhere outside of can_roll so there is no need to check it again."
...
This reverts commit 5ad58f9a5ce1a6b99f3011e1811fa01040d12aa2.
2012-06-28 07:27:57 +10:00
Paul Sheppard
62c3c66f17
Merge branch 'master' of git://github.com/ckolivas/cgminer.git
2012-06-27 08:18:12 -07:00
Con Kolivas
5ad58f9a5c
Work is checked if it's stale elsewhere outside of can_roll so there is no need to check it again.
2012-06-27 23:36:48 +10:00
Con Kolivas
eddd02fea1
Put upper bounds to under 2 hours that work can be rolled into the future for bitcoind will deem it invalid beyond that.
2012-06-27 23:32:50 +10:00
Con Kolivas
bcec5f5102
Revert "Check we don't exhaust the entire unsigned 32 bit ntime range when rolling time to cope with extremely high hashrates."
...
This reverts commit 522f620c89b5f152f86a2916b0dca7b71b2a5005.
Unrealistic. Limits are bitcoind related to 2 hours in the future.
2012-06-27 23:30:50 +10:00
Con Kolivas
383d35b221
Merge branch 'master' of github.com:ckolivas/cgminer
2012-06-27 22:35:38 +10:00
Con Kolivas
522f620c89
Check we don't exhaust the entire unsigned 32 bit ntime range when rolling time to cope with extremely high hashrates.
2012-06-27 22:34:46 +10:00
Kano
c21fc06560
define API option --api-groups
2012-06-27 21:28:18 +10:00
ckolivas
794b6558a3
Merge branch 'master' of https://github.com/ckolivas/cgminer
2012-06-27 10:55:50 +10:00
ckolivas
21a23a45d7
Work around pools that advertise very low expire= time inappropriately as this leads to many false positives for stale shares detected.
2012-06-27 10:15:57 +10:00
Paul Sheppard
d3e2b62c54
Change sick/dead processing to use device pointer, not gpu array.
...
Change BFL timing to adjust only when hashing complete (not error/idle etc.).
2012-06-26 14:45:48 -07:00
Paul Sheppard
78d5a81d70
Merge branch 'master' of https://github.com/ckolivas/cgminer.git
2012-06-26 12:32:09 -07:00
Con Kolivas
68a3a9ad10
There is no need for work to be a union in struct workio_cmd
2012-06-26 22:37:24 +10:00
ckolivas
b198423d17
Don't keep rolling work right up to the expire= cut off. Use 2/3 of the time between the scantime and the expiry as cutoff for reusing work.
2012-06-26 16:01:06 +10:00
ckolivas
6e80b63bb8
Revert "Increase the getwork delay factored in to determine if work vs share is stale to avoid too tight timing."
...
This reverts commit d8de1bbc5baa416148f50938cfde28a5261cb0e1.
Wrong fix.
2012-06-26 15:43:03 +10:00
ckolivas
d8de1bbc5b
Increase the getwork delay factored in to determine if work vs share is stale to avoid too tight timing.
2012-06-26 13:07:08 +10:00
Paul Sheppard
1ef52e0bac
Check for submit_stale before checking for work_restart
...
(to keep Kano happy)
2012-06-25 19:23:10 -07:00
Paul Sheppard
df9e76bd73
Merge branch 'master' of https://github.com/ckolivas/cgminer.git
2012-06-25 10:56:04 -07:00
Paul Sheppard
90d82aa61d
Revert to pre pool merge
2012-06-25 10:27:08 -07:00
Con Kolivas
c027492fa4
Make the pools array a dynamically allocated array to allow unlimited pools to be added.
2012-06-25 17:06:26 +10:00
Con Kolivas
5cf4b7c432
Make the devices array a dynamically allocated array of pointers to allow unlimited devices.
2012-06-25 16:59:29 +10:00
Con Kolivas
17ba2dca63
Logic fail on queueing multiple requests at once. Just queue one at a time.
2012-06-25 10:51:45 +10:00
Con Kolivas
42ea29ca4e
Use a queueing bool set under control_lock to prevent multiple calls to queue_request racing.
2012-06-25 00:58:18 +10:00
Con Kolivas
63dd598e2a
Queue multiple requests at once when levels are low.
2012-06-25 00:42:51 +10:00
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