Richard Brooksby
078ac268d5
Catch-up merge from branch/2015-08-06/config to remove arenaconfigure.
...
Copied from Perforce
Change: 189335
ServerID: perforce.ravenbrook.com
2016-02-25 22:59:06 +00:00
Richard Brooksby
9939dd3d3b
Catch-up merge from master sources.
...
Copied from Perforce
Change: 189140
ServerID: perforce.ravenbrook.com
2016-02-11 23:42:07 +00:00
Richard Brooksby
9eb9063e80
Ensuring landfinish doesn't try treecheck on unmapped memory. see < https://info.ravenbrook.com/mail/2016/02/10/14-42-20/0/ >.
...
Copied from Perforce
Change: 189121
ServerID: perforce.ravenbrook.com
2016-02-10 15:14:21 +00:00
Richard Brooksby
43741faecf
Catch up merge from master sources.
...
Copied from Perforce
Change: 189088
ServerID: perforce.ravenbrook.com
2016-02-03 16:56:04 +00:00
Richard Brooksby
e732cd64f0
Removing result code from arenasetsparecommitlimit since it can never fail.
...
See <https://info.ravenbrook.com/mail/2016/01/15/11-56-45/0 >.
Copied from Perforce
Change: 189084
ServerID: perforce.ravenbrook.com
2016-02-03 16:51:31 +00:00
Richard Brooksby
e64e5b2e25
Backing out the introduction of mps_arena_configure. see < https://info.ravenbrook.com/mail/2016/01/15/11-56-45/0 >.
...
Copied from Perforce
Change: 189081
ServerID: perforce.ravenbrook.com
2016-02-03 15:52:05 +00:00
Richard Brooksby
b75a753e91
Removing arena configure method from arena classes.
...
Copied from Perforce
Change: 189080
ServerID: perforce.ravenbrook.com
2016-01-30 20:16:30 +00:00
Richard Brooksby
2dbb15a869
Fixing uninitialised variable warning from gcc 5.2.1.
...
Copied from Perforce
Change: 189069
ServerID: perforce.ravenbrook.com
2016-01-30 19:58:10 +00:00
Richard Brooksby
30240791c2
Adding reference to job for improving definalization. see < https://info.ravenbrook.com/mail/2016/01/19/17-09-22/0/ >.
...
Copied from Perforce
Change: 188929
ServerID: perforce.ravenbrook.com
2016-01-20 11:44:28 +00:00
Richard Brooksby
1ac6033058
Catch-up merge from masters.
...
Copied from Perforce
Change: 188928
ServerID: perforce.ravenbrook.com
2016-01-20 11:04:09 +00:00
Richard Brooksby
6056a7f835
Resolving review issues in < https://info.ravenbrook.com/mail/2016/01/19/11-51-10/0/ >.
...
Improving documentation.
Fixing minor type misuse.
Copied from Perforce
Change: 188922
ServerID: perforce.ravenbrook.com
2016-01-19 16:23:39 +00:00
Richard Brooksby
a2f78d0df6
Catch-up merge from masters.
...
Copied from Perforce
Change: 188921
ServerID: perforce.ravenbrook.com
2016-01-19 16:22:39 +00:00
Richard Brooksby
e12da28142
Merge branch 'master' into branch/2015-08-06/config
...
Copied from Perforce
Change: 188910
ServerID: perforce.ravenbrook.com
2016-01-14 17:37:08 +00:00
Richard Brooksby
6e65f1ff18
Using os-provided getopt_long where available, since it doesn't compile cleanly on os x.
...
The getopt_long code promises that the argv array is const, but permutes it. (This problem is mentioned in the man page.) We have trouble getting this past our strict compiler options, especially under Xcode.
Copied from Perforce
Change: 188909
ServerID: perforce.ravenbrook.com
2016-01-14 17:34:49 +00:00
Gareth Rees
5ab2c1f66b
Add a return value to arenasetsparecommitlimit, as suggested by nb in review.
...
Copied from Perforce
Change: 188287
ServerID: perforce.ravenbrook.com
2015-09-08 16:36:48 +01:00
Gareth Rees
6ea9bc7894
Rename mps_key_arena_commit_limit and mps_key_arena_spare_commit_limit as mps_key_commit_limit and mps_key_spare_commit_limit respectively, as suggested by nb in review.
...
Copied from Perforce
Change: 188286
ServerID: perforce.ravenbrook.com
2015-09-08 16:21:27 +01:00
Gareth Rees
b8df4963ee
Can't assume that the caller will give us any available time.
...
Copied from Perforce
Change: 188259
ServerID: perforce.ravenbrook.com
2015-09-04 22:35:03 +01:00
Gareth Rees
38b52d7a05
Avoid "iso c90 forbids mixed declarations and code" error from gcc.
...
Copied from Perforce
Change: 188257
ServerID: perforce.ravenbrook.com
2015-09-04 22:28:40 +01:00
Gareth Rees
144990c99d
Add accesssetcheck and check accessset arguments.
...
Copied from Perforce
Change: 188251
ServerID: perforce.ravenbrook.com
2015-09-04 20:15:36 +01:00
Gareth Rees
d2662a861e
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188250
ServerID: perforce.ravenbrook.com
2015-09-04 19:13:28 +01:00
Gareth Rees
800aa3b250
Policycollectiontime is now local to policy.c.
...
Improve comment for policyCondemnChain (document the mortalityReturn parameter to; fix design reference).
Copied from Perforce
Change: 188240
ServerID: perforce.ravenbrook.com
2015-09-04 16:02:46 +01:00
Gareth Rees
db81205af5
Move policy for mps_arena_step to policy module.
...
Copied from Perforce
Change: 188238
ServerID: perforce.ravenbrook.com
2015-09-04 15:25:37 +01:00
Gareth Rees
d0042b7b46
Move arenadefaultzoneset to be adjacent to its todo.
...
Add comments for ArenaDefaultZONESET and LocusPrefDEFAULT.
Copied from Perforce
Change: 188237
ServerID: perforce.ravenbrook.com
2015-09-04 15:24:14 +01:00
Gareth Rees
49635c2e86
Fix bug introduced by change 188219: the end of the interval is not the same as the available collection time.
...
Copied from Perforce
Change: 188223
ServerID: perforce.ravenbrook.com
2015-09-04 08:53:23 +01:00
Gareth Rees
c2488346e7
There can only be an emergency when a trace is busy, so check this.
...
Copied from Perforce
Change: 188220
ServerID: perforce.ravenbrook.com
2015-09-03 20:14:06 +01:00
Gareth Rees
6f0c939e2f
Arenastep considers collecting the world after finishing a trace (not just on entry if no traces are busy).
...
ArenaStep does not care about quanta, so call TraceAdvance instead of TracePoll.
Copied from Perforce
Change: 188219
ServerID: perforce.ravenbrook.com
2015-09-03 19:11:49 +01:00
Gareth Rees
0ff67113ae
Separate the values "more work to do?" and "amount of work done" in tracepoll. previously, the code used "amount of work done > 0" when it needed "more work to do?" but that's not right, because on the last two calls to traceadvance, no "work" is done (because reclaim work is not measured), but there may still be more work to do.
...
Copied from Perforce
Change: 188218
ServerID: perforce.ravenbrook.com
2015-09-03 15:51:37 +01:00
Gareth Rees
1437590cb3
Move the arenaemergency test up to policypollagain.
...
Copied from Perforce
Change: 188217
ServerID: perforce.ravenbrook.com
2015-09-03 15:39:39 +01:00
Gareth Rees
68489eec1e
Move the clearing of the emergency flag down into tracedestroy{init,finish}.
...
Copied from Perforce
Change: 188216
ServerID: perforce.ravenbrook.com
2015-09-03 15:35:38 +01:00
Gareth Rees
61bae42d43
Introduce new type work representing a measure of work done by the collector. use this systematically to make the code clearer.
...
Copied from Perforce
Change: 188210
ServerID: perforce.ravenbrook.com
2015-09-03 13:01:55 +01:00
Gareth Rees
7c83105da9
Accumulate scannedsize in mrg pool.
...
Copied from Perforce
Change: 188209
ServerID: perforce.ravenbrook.com
2015-09-03 11:54:55 +01:00
Gareth Rees
85595290d3
Accumulate trace metrics in arenapark.
...
Copied from Perforce
Change: 188208
ServerID: perforce.ravenbrook.com
2015-09-03 11:50:28 +01:00
Gareth Rees
2979b99c64
Aver that results of arenaavail, arenacollectable and arenascannable are non-negative.
...
Copied from Perforce
Change: 188207
ServerID: perforce.ravenbrook.com
2015-09-03 10:12:18 +01:00
Gareth Rees
f1441b58d1
Don't start a trace unless there's work to do.
...
Copied from Perforce
Change: 188204
ServerID: perforce.ravenbrook.com
2015-09-02 21:55:24 +01:00
Gareth Rees
e7d735125f
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188203
ServerID: perforce.ravenbrook.com
2015-09-02 21:23:23 +01:00
Gareth Rees
837818ccb4
Refactor tracequantum into tracepoll and traceadvance. (tracequantum was formerly called from arenapark, but that doesn't care about the quantum size.)
...
Copied from Perforce
Change: 188198
ServerID: perforce.ravenbrook.com
2015-09-02 10:50:00 +01:00
Gareth Rees
7cc5a2d8f6
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188176
ServerID: perforce.ravenbrook.com
2015-08-25 19:35:03 +01:00
Gareth Rees
86d6fd4d9c
Catch-up merge from branch/2015-08-06/config to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188175
ServerID: perforce.ravenbrook.com
2015-08-25 19:32:55 +01:00
Gareth Rees
b5edbd02ce
Use sizeisarenagrains macro.
...
Copied from Perforce
Change: 188172
ServerID: perforce.ravenbrook.com
2015-08-25 15:03:35 +01:00
Gareth Rees
3274a4fba6
Condition >= 1.0 is needed to ensure division can't overflow.
...
Copied from Perforce
Change: 188170
ServerID: perforce.ravenbrook.com
2015-08-25 13:50:19 +01:00
Gareth Rees
dd676e2919
New functions policypoll and policypollagain.
...
Update design.strategy.
Copied from Perforce
Change: 188165
ServerID: perforce.ravenbrook.com
2015-08-25 13:27:17 +01:00
Gareth Rees
46280a07ab
New function policycollectiontime estimates the time needed to collect the arena. mysterious constants are given names and moved to config.h.
...
Copied from Perforce
Change: 188160
ServerID: perforce.ravenbrook.com
2015-08-21 15:27:14 +01:00
Gareth Rees
b7cf9d1ba9
Fix broken link to design/thread-safety
...
Copied from Perforce
Change: 188158
ServerID: perforce.ravenbrook.com
2015-08-21 11:20:20 +01:00
Gareth Rees
a4beea6f11
Prefer avert(type, value) to aver(typecheck(value)).
...
Copied from Perforce
Change: 188157
ServerID: perforce.ravenbrook.com
2015-08-21 11:14:27 +01:00
Gareth Rees
ca71b6dbe6
New function policycondemnchain.
...
Copied from Perforce
Change: 188156
ServerID: perforce.ravenbrook.com
2015-08-21 11:01:00 +01:00
Gareth Rees
32acad85ea
New function policystarttrace decides whether to start a trace.
...
Copied from Perforce
Change: 188154
ServerID: perforce.ravenbrook.com
2015-08-20 16:57:33 +01:00
Gareth Rees
2097678a37
New module policy.c.
...
Copied from Perforce
Change: 188152
ServerID: perforce.ravenbrook.com
2015-08-19 15:03:47 +01:00
Gareth Rees
1e2d5dd4d8
Catch-up merge from master sources to branch/2015-08-06/config.
...
Copied from Perforce
Change: 188146
ServerID: perforce.ravenbrook.com
2015-08-14 16:35:07 +01:00
Gareth Rees
c8644421da
Merge branch/2015-08-10/arena-create into the master sources.
...
Copied from Perforce
Change: 188144
ServerID: perforce.ravenbrook.com
2015-08-14 10:57:06 +01:00
Gareth Rees
008ac14cdb
Improve organization and naming of arena's free land initialization and finish code, following review by nb < https://info.ravenbrook.com/mail/2015/08/11/15-52-34/0/ >.
...
Copied from Perforce
Change: 188143
ServerID: perforce.ravenbrook.com
2015-08-14 10:30:16 +01:00