Gareth Rees
5faa229dd0
Change http to https for links to {info,www}.ravenbrook.com.
...
Copied from Perforce
Change: 195719
2018-11-22 12:34:46 +00:00
Gareth Rees
1ec8c4a141
Improve handling of telemetry events on the critical path:
...
1. Being on the critical path is a property of the code location where the event is emitted, not of the event type, so indicate this using EVENT_CRITICAL macros rather than a field in the event table.
2. Compile out events on the critical path in hot varieties.
3. Remove TraceFixWhite event (redundant with TraceFixSeg).
4. No need for special handling of PoolFree event -- this are already skipped in hot varieties by dispatching directly to the pool class via PoolFreeMacro.
Copied from Perforce
Change: 195261
2018-10-15 14:22:16 +01:00
Gareth Rees
cbf9885146
Document the event parameters.
...
Split event ArenaAccess into ArenaAccessBegin and ArenaAccessEnd to avoid the need for the count field.
New events SegReclaim and SegScan.
Delete some redundant events: AMCFinish (PoolFinish), AMCFix, AMCFixForward, AMCFixInPlace (TraceFix), AMCGenCreate (GenInit), AMCGenDestroy (GenFinish), AMCInit (PoolInitAMC), AMCReclaim (SegReclaim), AMCScanBegin, AMCScanEnd (SegScan), ArenaWriteFaults (ArenaAccessBegin), PoolInitMV, TraceScanSeg (SegScan).
Add result code field to events ArenaAllocFail, CommitLimitSet, SegAllocFail.
Remove arena field from events PoolInitAMS, PoolInitMFS, PoolInitMVFF (already appeared in generic PoolInit event).
Copied from Perforce
Change: 195247
2018-10-14 14:04:40 +01:00
Gareth Rees
d2d2895c03
Catch-up merge from master sources at changelevel 194022 to branch/2018-06-20/monitor.
...
Copied from Perforce
Change: 195071
2018-09-15 21:29:28 +01:00
Gareth Rees
0c8dc0dac5
Address issues found in review < https://info.ravenbrook.com/mail/2018/09/13/15-44-23/0/ >
...
Copied from Perforce
Change: 195057
2018-09-13 16:47:51 +01:00
Gareth Rees
b170f5af82
Fix compilation error "variable ‘arena’ set but not used" from gcc 4.8.4 in statistic-less varieties.
...
Copied from Perforce
Change: 194751
2018-07-28 15:31:15 +01:00
David Lovemore
429bca82ae
Fix compile error.
...
Copied from Perforce
Change: 194741
2018-07-26 18:51:30 +01:00
Nick Barnes
6b6c6f253a
Integrate recent monitor improvements from cet custom monitor branch.
...
Copied from Perforce
Change: 194738
2018-07-26 14:40:31 +01:00
Gareth Rees
8ace350062
Merge branch/2016-04-16/trace-gens into the master sources.
...
Copied from Perforce
Change: 194685
2018-07-18 18:53:05 +01:00
Gareth Rees
315c0e3a1d
Merge branch/2018-07-07/roots-walk into the master sources.
...
Copied from Perforce
Change: 194642
2018-07-13 16:41:08 +01:00
Gareth Rees
99260e46d6
Generation's computed mortality has denominator of condemned memory (not new memory), so use the same denominator when predicting the mortality for a trace.
...
Simpler to compute predicted mortality as casualties/condemned instead of 1 - survivors/condemned.
Copied from Perforce
Change: 194634
2018-07-13 12:07:54 +01:00
Gareth Rees
032bd714e0
Catch-up merge from master sources at changelevel 194628.
...
Copied from Perforce
Change: 194631
2018-07-13 11:28:36 +01:00
Gareth Rees
b1e3bd9932
Improve describe output for generations.
...
Must take SegBase(seg) before reclaiming the segment in case it gets destroyed.
Copied from Perforce
Change: 194624
2018-07-12 09:47:29 +01:00
Gareth Rees
21e6672e70
Reclaim the same generations that were condemned.
...
Copied from Perforce
Change: 194621
2018-07-12 07:51:04 +01:00
Gareth Rees
c692e2b6e0
Represent the set of generations condemned for a trace.
...
Eliminate duplication between policyCondemnChain and traceCondemnAll.
Compute better mortality estimate for collection of the world.
Copied from Perforce
Change: 194611
2018-07-11 21:14:43 +01:00
Gareth Rees
13f5b95ddb
Add time series for fraction of generations condemned in chain.
...
Copied from Perforce
Change: 194541
2018-07-09 16:56:16 +01:00
Gareth Rees
8d722c4a2b
Better position for comment.
...
Update manual.
Copied from Perforce
Change: 194511
2018-07-08 08:08:05 +01:00
Gareth Rees
2d7cf3c3d3
In mps_arena_roots_walk, don't call traceaddwhite to whiten a segment, as this calls segwhiten which has undesirable side-effects, including breaking formatting objects walking. instead, call segsetwhite to make the segment white, and set the trace's white summary to the universe.
...
Add cross-reference from second-stage test in _mps_fix2 so that if the white set test is changed, the roots walking code can be changed to match.
In walkt0, add a smoke test for mps_arena_roots_walk.
Copied from Perforce
Change: 194507
2018-07-07 22:23:24 +01:00
Gareth Rees
0edb390dc4
Catch-up merge from master sources at changelevel 194456 to branch/2016-03-30/tract-white-elim.
...
Copied from Perforce
Change: 194469
2018-07-06 11:06:20 +01:00
Gareth Rees
ba03d79694
Catch-up merge from master sources at changelevel 194449 to branch/2018-06-18/mrgseg.
...
Copied from Perforce
Change: 194452
2018-07-05 16:22:24 +01:00
Gareth Rees
cee7c490ac
Add time series for mortality in a generation, and size of segments referencing each generation.
...
Copied from Perforce
Change: 194348
2018-07-02 15:40:42 +01:00
Gareth Rees
d1d282d351
Restore fixclosure together with explanation.
...
Copied from Perforce
Change: 194314
2018-06-29 13:54:55 +01:00
Gareth Rees
01baf3cfda
New generic function segflip allows the segment to decide how to handle a trace that’s about to flip.
...
Copied from Perforce
Change: 194000
2018-06-20 10:23:16 +01:00
Gareth Rees
8ab47f84d1
Remove unused variable pool.
...
Copied from Perforce
Change: 193034
ServerID: perforce.ravenbrook.com
2017-03-30 09:19:54 +01:00
Gareth Rees
b7a490ae32
Move fix and fixemergency methods from pool class to segment class.
...
Copied from Perforce
Change: 193023
ServerID: perforce.ravenbrook.com
2017-03-30 08:09:14 +01:00
Gareth Rees
9734df3505
Remove unused fixclosure field from trace and scanstate structures.
...
Copied from Perforce
Change: 193018
ServerID: perforce.ravenbrook.com
2017-03-30 07:14:10 +01:00
Gareth Rees
00a4ade456
Move scan method from pool class to segment class.
...
Copied from Perforce
Change: 193012
ServerID: perforce.ravenbrook.com
2017-03-29 19:17:17 +01:00
Gareth Rees
db5db0a9f3
Move reclaim method from pool class to segment class.
...
Copied from Perforce
Change: 193007
ServerID: perforce.ravenbrook.com
2017-03-29 17:13:45 +01:00
Gareth Rees
07adf64ebb
Move whiten method from pool class to segment class.
...
Copied from Perforce
Change: 193002
ServerID: perforce.ravenbrook.com
2017-03-29 16:22:14 +01:00
Gareth Rees
47a1715c2d
Move greyen method from pool class to segment class.
...
Copied from Perforce
Change: 192997
ServerID: perforce.ravenbrook.com
2017-03-29 15:58:32 +01:00
Gareth Rees
1dc5ac742a
Move the blacken method from the pool class to the segment class.
...
Copied from Perforce
Change: 192994
ServerID: perforce.ravenbrook.com
2017-03-29 15:32:17 +01:00
Gareth Rees
587a3efb20
Remove unused pool class methods tracebegin and traceend.
...
Remove unused event AMCTraceEnd.
The fixEmergency method must have the same type as the fix method because of how they are used.
Copied from Perforce
Change: 192636
ServerID: perforce.ravenbrook.com
2016-10-19 14:07:20 +01:00
Gareth Rees
91551170b1
Remove return statements that have no effect.
...
Copied from Perforce
Change: 192529
ServerID: perforce.ravenbrook.com
2016-10-13 15:17:50 +01:00
Gareth Rees
7473718e0a
Catch-up merge from master sources to branch/2016-04-13/mortality.
...
Copied from Perforce
Change: 192192
ServerID: perforce.ravenbrook.com
2016-09-05 16:17:04 +01:00
Gareth Rees
331ec20beb
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 192187
ServerID: perforce.ravenbrook.com
2016-09-05 16:01:17 +01:00
Gareth Rees
55adbe705d
Fix assertion text in the manual.
...
Place a cross-reference by each assertion the appears in the manual, to assist in keeping the manual up to date.
Copied from Perforce
Change: 192097
ServerID: perforce.ravenbrook.com
2016-09-02 14:11:08 +01:00
Gareth Rees
fa2fced306
Clear the emergency before removing the trace from busytraces, to avoid violating <code/global.c#emergency.invariant>.
...
Copied from Perforce
Change: 191774
ServerID: perforce.ravenbrook.com
2016-05-02 13:06:07 +01:00
Gareth Rees
e38b71547d
Catch-up merge from branch/2016-04-12/job004000 to branch/2016-04-13/mortality.
...
Copied from Perforce
Change: 191513
ServerID: perforce.ravenbrook.com
2016-04-21 18:20:54 +01:00
Gareth Rees
aba1c55487
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 191429
ServerID: perforce.ravenbrook.com
2016-04-21 10:52:18 +01:00
Gareth Rees
5581b66e91
Merge branch/2016-04-19/job004011.
...
Copied from Perforce
Change: 191374
ServerID: perforce.ravenbrook.com
2016-04-20 16:00:43 +01:00
Gareth Rees
04e129be5c
Ensure that at most one collection of the world can be started in a call to arenapoll. this avoids a loop if the live set is large enough to provoke the "dynamic criterion".
...
Copied from Perforce
Change: 191274
ServerID: perforce.ravenbrook.com
2016-04-19 18:17:09 +01:00
Gareth Rees
612a45423d
Remove tracestatcondemn event -- contains no information not already emitted by the tracestart event.
...
Copied from Perforce
Change: 191185
ServerID: perforce.ravenbrook.com
2016-04-16 12:41:38 +01:00
Gareth Rees
942bee5823
Compile out statistic declarations in non-statistical varieties (at the cost of some syntax checking).
...
Add some missing STATISTIC guards where statistics are used.
Add design documentation.
Avoid unnecessary distinction between STATISTIC and STATISTIC_STAT (both result in statements).
Copied from Perforce
Change: 191178
ServerID: perforce.ravenbrook.com
2016-04-16 12:07:10 +01:00
Gareth Rees
3174eba71e
Maintain a moving average of the mortality of each generation.
...
Copied from Perforce
Change: 191081
ServerID: perforce.ravenbrook.com
2016-04-13 15:19:50 +01:00
Gareth Rees
4d1e8f06fe
Handle failed traceaddwhite in policycondemnchain and arenarootswalk.
...
Copied from Perforce
Change: 191040
ServerID: perforce.ravenbrook.com
2016-04-12 20:58:33 +01:00
Gareth Rees
7eeb2e8b78
Condemn only the segments in the selected generations (not segments that happen to share a zone with any segment ever allocated in the generation).
...
Copied from Perforce
Change: 191034
ServerID: perforce.ravenbrook.com
2016-04-12 19:42:03 +01:00
Gareth Rees
a0661db49e
Fix mistake (need trace->arena here).
...
Copied from Perforce
Change: 190948
ServerID: perforce.ravenbrook.com
2016-04-11 19:47:11 +01:00
Gareth Rees
761d212e14
In change 188204 we avoided creating and progressing traces with nothing condemned. but traces had one other effect: they called arenacompact via tracereclaim. restore the arenacompact for traces that failed to condemn anything.
...
Copied from Perforce
Change: 190931
ServerID: perforce.ravenbrook.com
2016-04-11 18:08:08 +01:00
Richard Brooksby
e27b3ce6a8
Don't allow pools to whiten segments without condemning objects, so that a condemned size of zero implies no white segments, allowing quick trace destruction.
...
Copied from Perforce
Change: 190607
ServerID: perforce.ravenbrook.com
2016-03-31 23:41:46 +01:00
Richard Brooksby
4ed74af735
Removing white field from tracts.
...
Copied from Perforce
Change: 190536
ServerID: perforce.ravenbrook.com
2016-03-30 15:36:18 +01:00