1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

78 commits

Author SHA1 Message Date
Gareth Rees
08beb998fd Don't represent capacities internally in kilobytes, convert once on initialization.
In the monitor, start average mortality time series with the initial predicted value.

Copied from Perforce
 Change: 194565
2018-07-10 13:10:00 +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
9fe19e67fb Add time series for per-trace mortality.
Copied from Perforce
 Change: 194538
2018-07-09 16:29:37 +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
7a10a50136 New event segsetsummary allows the monitor to track the sizes of segments referencing particular zones.
Copied from Perforce
 Change: 194259
2018-06-28 13:14:12 +01:00
Gareth Rees
2c494e9878 New events arenapollbegin and arenapollend.
Measure fraction of CPU time in polling.
Represent the units of each TimeSeries.
Draw graphs for up to two different units using Axes.twinx.

Copied from Perforce
 Change: 194204
2018-06-26 16:21:48 +01:00
Gareth Rees
aea2ed3811 Handle deletion of arenas and pools (they often get recreated at the same addresses so this is vital).
Sort the events in batches so that, for example, we get PoolFinish before ArenaDestroy.
Emit ArenaDestroy event after finishing all its pools.
Add arena parameter to PoolFinish event.
Restore top-down logging of events (no need to order them the telemetry output, since the monitor sorts them).
Add comments for all the events used by the monitor.
Include the arena's name in the pool's name when there are multiple arenas.

Copied from Perforce
 Change: 194112
2018-06-23 15:37:11 +01:00
Gareth Rees
c3a7104eff Label the time series in the monitor.
In telemetry output, distinguish between labelling of (client) addresses and (MPS-internal) pointers, to avoid transgressing the distinction.
Add arena grain size, class, and serial number to ArenaCreate* events.
Add pool class and serial number to PoolInit event.

Copied from Perforce
 Change: 194086
2018-06-22 11:05:46 +01:00
Gareth Rees
e961c80ff9 Arenafree event needs to include the pool so that telemetry-consuming applications can update pool statistics without having to remember the addresses of all the allocations.
Copied from Perforce
 Change: 194050
2018-06-21 13:57:42 +01:00
Gareth Rees
d3eff9ff45 Since we changed the major version number, we might as well fix the type of the ok parameter of the commitlimitset event.
Copied from Perforce
 Change: 194033
2018-06-20 16:09:57 +01:00
Gareth Rees
5cc5bb5922 Don't store booleans as bit-fields in event structures: this makes it impossible to automatically unpack them using python's struct module. (the only event where this actually saved any space was poolinitmvff!)
Update event format to 2.0.0 since telemetry format changed.
New macro EVENT_ANY_FIELDS allows consumers to determine the layout of the event header.
mpseventpy now analyzes the event layout (including padding bytes) and emits struct format specifications.
New program tool/monitor.py reads and unpacks a stream of telemetry events.

Copied from Perforce
 Change: 194026
2018-06-20 15:51:38 +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
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
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
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
Richard Brooksby
44f80af1ec Merging branch mps/branch/2016-03-13/without-reservation into master sources.
Copied from Perforce
 Change: 190106
 ServerID: perforce.ravenbrook.com
2016-03-15 13:19:27 +00:00
Richard Brooksby
cea2c8c73f Updates from review by dl <https://info.ravenbrook.com/mail/2016/03/15/12-36-53/0/>.
Copied from Perforce
 Change: 190105
 ServerID: perforce.ravenbrook.com
2016-03-15 13:02:40 +00:00
Richard Brooksby
d54be414d9 Merging branch/2016-03-12/pause into the master sources.
Copied from Perforce
 Change: 190053
 ServerID: perforce.ravenbrook.com
2016-03-15 06:31:08 +00:00
Richard Brooksby
cf77c160a4 Removing reservoir-related events.
Copied from Perforce
 Change: 190041
 ServerID: perforce.ravenbrook.com
2016-03-15 04:54:19 +00:00
Gareth Rees
2a3c4e0590 Address points made by rb in review <https://info.ravenbrook.com/mail/2016/03/14/18-48-19/0/>
Copied from Perforce
 Change: 190031
 ServerID: perforce.ravenbrook.com
2016-03-14 20:10:14 +00:00
Richard Brooksby
1025b28674 Eliminating withreservoirpermit and all its variants.
Copied from Perforce
 Change: 190005
 ServerID: perforce.ravenbrook.com
2016-03-13 21:04:01 +00:00
Gareth Rees
66e0d30340 Catch-up merge from branch/2015-08-25/tradeoff to branch/2016-03-12/pause (to pick up the morework value in arenapoll).
Copied from Perforce
 Change: 189918
 ServerID: perforce.ravenbrook.com
2016-03-12 20:32:41 +00:00
Gareth Rees
c05c8a5609 Documentation and interface for pause time control (no implementation yet).
Copied from Perforce
 Change: 189915
 ServerID: perforce.ravenbrook.com
2016-03-12 20:25:33 +00: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
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
61a58b9b50 Fix problems noted by rb in review <https://info.ravenbrook.com/mail/2014/06/18/14-06-43/0/>
Copied from Perforce
 Change: 186667
 ServerID: perforce.ravenbrook.com
2014-06-18 15:36:35 +01:00
David Lovemore
3b97cae580 Catch up merge from master/...@186577
Copied from Perforce
 Change: 186582
 ServerID: perforce.ravenbrook.com
2014-06-13 16:38:20 +01:00
Gareth Rees
c8cc245e06 Some remaining occurrences of "arena alignment".
Copied from Perforce
 Change: 186513
 ServerID: perforce.ravenbrook.com
2014-06-11 22:22:02 +01:00
David Lovemore
c14a0e5e3e Amc now respects mps_key_extend_by keyword argument.
AMC also uses MPS_KEY_LARGE_SIZE keyword argument to specify what size objects need to be to live on their own segment.

Copied from Perforce
 Change: 186480
 ServerID: perforce.ravenbrook.com
2014-06-11 12:12:44 +01:00
Gareth Rees
6a71a7c730 Catch-up merge from master sources @186257 to branch/2014-04-23/awl.
Copied from Perforce
 Change: 186354
 ServerID: perforce.ravenbrook.com
2014-05-29 15:38:42 +01:00
Gareth Rees
d98336d308 Catch-up merge from master sources @186335 to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 186348
 ServerID: perforce.ravenbrook.com
2014-05-29 14:58:50 +01:00
Gareth Rees
641a75cf5e Avoid the need for newsizeatcreate by emitting events for the pool generations in tracecreate instead of tracestart.
Get rid of proflow member of GenDescStruct (it was unused).
Use STATISTIC to avoid updating segs, freeSize, oldSize, and oldDeferredSize in non-checking varieties.
Add design for pool generation accounting.

Copied from Perforce
 Change: 185930
 ServerID: perforce.ravenbrook.com
2014-05-01 19:00:08 +01:00
Gareth Rees
799ecf0420 Output all the pool generation accounting information.
Copied from Perforce
 Change: 185911
 ServerID: perforce.ravenbrook.com
2014-04-30 17:39:37 +01:00
Gareth Rees
e62efa1619 Use double-entry book-keeping and bank reconciliation to ensure the soundness and completeness of the pool generation size accounting.
Copied from Perforce
 Change: 185888
 ServerID: perforce.ravenbrook.com
2014-04-30 12:14:54 +01:00
Gareth Rees
b3d827b6fb Pool generations now refer directly to their generation (not via a chain and a generation number).
Allocation into a generation now via PoolGenAlloc (not ChainAlloc).
The "top generation" logic is encapsulated in the function ChainGen.

Copied from Perforce
 Change: 185877
 ServerID: perforce.ravenbrook.com
2014-04-30 11:18:44 +01:00
Gareth Rees
0c2cd2ab6d Catch-up merge from master sources to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 185288
 ServerID: perforce.ravenbrook.com
2014-04-07 15:02:09 +01:00
Gareth Rees
8b9c38393e Event arenablacklistzone was deleted, but event_version_minor was not updated; and the instruction "when you retire an event type, don't delete it from the list -- comment it out" was not followed.
Delete TODO item: EVENT_VERSION numbers are parameters to the EventInit event.

Copied from Perforce
 Change: 185246
 ServerID: perforce.ravenbrook.com
2014-04-06 15:52:56 +01:00
Gareth Rees
042f9c5f14 First pass at implementation of lands (collections of address ranges). 100% boilerplate!
Copied from Perforce
 Change: 185131
 ServerID: perforce.ravenbrook.com
2014-04-01 19:51:55 +01:00
Richard Brooksby
d62ff57a76 Removing redundant blacklisting event.
Copied from Perforce
 Change: 184603
 ServerID: perforce.ravenbrook.com
2014-02-28 13:46:51 +00:00
Richard Brooksby
7b54fc9926 Creating and tearing down the arena freecbs that will hold free address ranges.
Copied from Perforce
 Change: 184049
 ServerID: perforce.ravenbrook.com
2014-01-18 16:25:08 +00:00
Gareth Rees
bcfad58d3c Merge custom cet mainline into the master sources. this includes fixes for job003519 (clock values in text telemetry logs on windows have top 32 bits zero), job003536 (cet office can't replicate 100k snowmen in reasonable time), job003651 (stack overflows are not reliably handled).
Copied from Perforce
 Change: 183926
 ServerID: perforce.ravenbrook.com
2014-01-10 14:16:08 +00:00
Gareth Rees
4e22988865 Remove diag facility.
Copied from Perforce
 Change: 182553
 ServerID: perforce.ravenbrook.com
2013-06-05 18:35:40 +01:00
Richard Brooksby
8a9d451ff8 Catch-up merge from custom/cet/main to master.
Includes installable assertion handler, events in circular memory buffers, LARGEADDRESSAWARE, etc.

Copied from Perforce
 Change: 182176
 ServerID: perforce.ravenbrook.com
2013-05-24 19:42:46 +01:00
Richard Brooksby
4f60f9698c Merging spelling corrections contributed by bruce mitchener.
See <1c80ccb634>.

Copied from Perforce
 Change: 180956
 ServerID: perforce.ravenbrook.com
2013-02-18 15:46:39 +00:00
Gareth Rees
ba56a53ed7 New event "arenasetemergency".
Copied from Perforce
 Change: 180479
 ServerID: perforce.ravenbrook.com
2012-11-15 14:08:13 +00:00
Gareth Rees
8f92405faa Integrate nb's changes from the measurement branch.
Copied from Perforce
 Change: 180465
 ServerID: perforce.ravenbrook.com
2012-11-14 14:09:49 +00:00
Gareth Rees
f4c255c9a4 Add two new events:
* ArenaAccess for handling barrier hits;
* ArenaPoll for choosing a quantum of work.

Copied from Perforce
 Change: 180432
 ServerID: perforce.ravenbrook.com
2012-11-09 15:19:35 +00:00
Nick Barnes
1a66f62952 Add mps_clocks_per_sec to the eventinit header, and put some header-checking code into eventcnv, so now we have at least a rudimentary check that a binary event log is readable.
Copied from Perforce
 Change: 180160
 ServerID: perforce.ravenbrook.com
2012-10-30 14:15:27 +00:00
Nick Barnes
9ba10aeae4 Make eventclocksync events, and output them once per buffer flush.
Copied from Perforce
 Change: 180152
 ServerID: perforce.ravenbrook.com
2012-10-30 09:36:30 +00:00
Nick Barnes
b407283356 Add an eventinit event, giving various parameters including the event system version.
Copied from Perforce
 Change: 180100
 ServerID: perforce.ravenbrook.com
2012-10-26 13:22:04 +01:00