1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 12:20:39 -08:00
Commit graph

49 commits

Author SHA1 Message Date
Richard Kistruck
ec9fd145fb Mps br/vmem arenavm.c: (diagnostic variety only) fix floating point exception after a collection with 0 bytes condemned
The VMCompact diag was calculating the live percentage by dividing by condemned size.  Don't do this if condemned is zero.

Copied from Perforce
 Change: 170441
 ServerID: perforce.ravenbrook.com
2010-04-26 16:06:36 +01:00
Richard Kistruck
3ff0a0e582 mps br/vmem: simple-chunk-return:
arenavm.c VMCompact diag: also emit where chunks were gained but not lost during collection -- that is: collections where there was a vmem increase, and ArenaCompact was *not* able to return any chunks.

Copied from Perforce
 Change: 170101
 ServerID: perforce.ravenbrook.com
2010-03-23 08:11:20 +00:00
Richard Kistruck
eba5cf1929 mps br/vmem: simple-chunk-return:
readme.txt -- update.
 arenavm.c -- (cosmetic) don't count chunks freed

Copied from Perforce
 Change: 170099
 ServerID: perforce.ravenbrook.com
2010-03-23 06:06:11 +00:00
Richard Kistruck
d1e04a6dd5 mps br/vmem: simple-chunk-return:
arenavm.c, trace.c, mpmst.h -- trace->preTraceArenaReserved, to show pre- and peak-vmem during collection

Copied from Perforce
 Change: 170098
 ServerID: perforce.ravenbrook.com
2010-03-23 04:07:43 +00:00
Richard Kistruck
7bdbbeb2c9 mps br/vmem: simple-chunk-return:
arenavm.c:
   - M_whole, M_frac: print count of bytes as Megabytes
   - diag on VMCompact after all client-requested traces, plus any others where we returned a chunk.
   - show vmem change, and also trace cond, live / % / stuck(pip), notCond

 mpm.c -- new "$3" format for 0-padding 3-char-wide field, for thousandths of a MB

 zcoll.c -- try some new parameters for tests

 diag.c -- just VMCompact diag

Copied from Perforce
 Change: 170097
 ServerID: perforce.ravenbrook.com
2010-03-23 03:52:41 +00:00
Richard Kistruck
0e6aecdbb8 mps br/vmem: simple-chunk-return:
arenavm.c -- move chunk-return into new function "VMCompact".
 (also, in VMArenaFinish, null out arena->primary in VMArenaFinish, so it is not left dangling).

 arena.c, arenavm.c, mpm.h, mpmst.h, mpmtypes.h:
 arena->class->compact: ArenaCompact, ArenaTrivCompact, VMCompact

 trace.c -- traceReclaim calls ArenaCompact!

Copied from Perforce
 Change: 170095
 ServerID: perforce.ravenbrook.com
2010-03-23 01:49:17 +00:00
Richard Kistruck
b75de3e923 mps br/vmem: simple-chunk-return:
arenavm.c --  on VMFree(), destroy any empty chunks (except the primary).  (VMFree is not the ideal place to do it, but works for proof of concept).
 tract.c -- fix ChunkCache defects:
  - previously, if cache is empty (chunkCache->chunk == NULL) then other fields are *undefined*; but code looks at them anyway (!) without first checking chunkCache->chunk;
  - change it (.chunk.empty.fields) so that, if cache is empty, other fields have defined values: cache-using code may look at them, and they are chosen so that no cache hit will occur.
  --> this fixes crashing defect shown by changelist 170072
  - AVERT(ChunkCache) in the many places it should be checked;
  - use AVERT_CRITICAL in ChunkEncache, because it is called by ChunkOfAddr;

 Also:
 plan.txt -- notes on use of primary chunk.
 config.h -- DIAG also in ci, please [Do not integ to master]
 diag.c -- skip ChainCondemnAuto diag thanks
 zcoll.c -- move printf announcing Destroying arena etc to just before, not just after, we do it.

Copied from Perforce
 Change: 170082
 ServerID: perforce.ravenbrook.com
2010-03-22 13:24:49 +00:00
Richard Kistruck
7e68100084 Mps br/vmem: (broken: assert tract.c line 327) run this at variety=ci (ie. where aver_critical works), to show how broken the chunk cache logic is.
Copied from Perforce
 Change: 170072
 ServerID: perforce.ravenbrook.com
2010-03-20 14:05:32 +00:00
Richard Kistruck
e82d034c98 Mps br/vmem: prepare for simple-chunk-return:
arenavm.c: VMFree is okay for testing chunk-ret; though just sparePagesPurge() for now;
  diag.c: show what we want for using zcoll to show chunk-ret:
    VM_ix_Create/Destroy
    TraceStart, excpet only briefly for dyn-crit (why=2) and not at all for minor
  locus.c: no newline on "condemn gens" diag please
  tract.c: ChunkDecache is BROKEN; just add AVER to catch this for now
  vmix.c: VM_ix_Create_ok/VM_ix_Destroy (vmw3.c needs similar)
  zcoll.c:
    release after mps_arena_collect!!!
    make, collect, make, collect, to show chunk-ret
    10MB arena means many chunks
None of this is releaseable quality of course.

Copied from Perforce
 Change: 170071
 ServerID: perforce.ravenbrook.com
2010-03-20 13:51:23 +00:00
Richard Kistruck
03b820d908 Mps master (integ from br/vmarenagrow/code/arenavm.c):
mps_arena_vm_growth(): fail with MPS_RES_PARAM if desired < minimum

Copied from Perforce
 Change: 164899
 ServerID: perforce.ravenbrook.com

GitHub-reference: https://github.com/Ravenbrook/mps/issues/16
2008-05-01 16:24:43 +01:00
Richard Kistruck
7dbf5d4ce5 Mps br/vmarenagrow:
mps_arena_vm_growth should give MPS_RES_PARAM is desired < minimum

Copied from Perforce
 Change: 164898
 ServerID: perforce.ravenbrook.com
2008-05-01 15:22:01 +01:00
Richard Kistruck
2e4e79bb81 Mps br/vmarenagrow: some work-in-progress on visualising gangs:
ArenaTractsInZones - count how many tracts are used/free in each zone
GangsetFullDescribe, GangFullDescribe - show usage
mpm.c: new WriteF tag "u" is space-padded 3-column unsigned

Copied from Perforce
 Change: 164896
 ServerID: perforce.ravenbrook.com
2008-05-01 15:06:20 +01:00
Richard Kistruck
3608fc2e41 Mps master (integ from br/vmarenagrow@163759):
mps_arena_vm_growth(): new interface function; client specifies 
  desired arena increment, and minimum arena increment.
   arenavm.c: .chunk-create.fail: try a succession of _gradually_ 
     reducing sizes (aiming to 'waste' at most 1/8th of the available 
     space, rather than the 1/2 that can be 'wasted' by halving each 
     time); stopping at specified minimum arena increment 
     (VMArenaStruct.extendMin) or 4K.

Copied from Perforce
 Change: 164894
 ServerID: perforce.ravenbrook.com
2008-05-01 14:58:10 +01:00
Richard Kistruck
674a918cd2 Mps br/vmarenagrow: better diag output when a gang grabs a new zone
(show the whole gangset, with new zone highlighted)

Copied from Perforce
 Change: 164252
 ServerID: perforce.ravenbrook.com
2008-02-29 19:04:24 +00:00
Richard Kistruck
db6ee6a903 Mps br/vmarenagrow: [work in progress] arenavm.c using gangset, gangs.
Copied from Perforce
 Change: 164243
 ServerID: perforce.ravenbrook.com
2008-02-28 18:56:32 +00:00
Richard Kistruck
6334f1194c Mps br/vmarenagrow: [broken - work-in-progress checkin]
Gangset and Gangs.  SegPrefZonesOpen/Next/Close to try various 
zonesets appropriate to the SegPref's gang.

Copied from Perforce
 Change: 164231
 ServerID: perforce.ravenbrook.com
2008-02-27 19:52:56 +00:00
Richard Kistruck
2df9f2fd76 Mps br/vmarenagrow: arenavm: keep track of non-gen gangs; diag when
a gang grabs another zone.

Copied from Perforce
 Change: 164150
 ServerID: perforce.ravenbrook.com
2008-02-21 21:47:13 +00:00
Richard Kistruck
b7f8d5f082 Mps: move zoneset-in-chunk calculating code out of pagesfindfreeinzones,
to create new function ChunkZonesNextArea

Copied from Perforce
 Change: 164081
 ServerID: perforce.ravenbrook.com
2008-02-14 18:54:04 +00:00
Richard Kistruck
aa9346ab1c Mps master: arenavm.c: tabs!
Copied from Perforce
 Change: 163842
 ServerID: perforce.ravenbrook.com
2008-01-28 15:31:46 +00:00
Richard Kistruck
ac11966232 Mps br/vmarenagrow: vmarena.c: tabs!
Copied from Perforce
 Change: 163814
 ServerID: perforce.ravenbrook.com
2008-01-24 18:29:38 +00:00
Richard Kistruck
cceca63b37 Mps br/vmarenagrow: arenadescribe: show zonesize.
(Also, move comment: the test that Fails if the chunk is so small 
that stripes are smaller than pages is in arena.c, not arenavm.c)

Copied from Perforce
 Change: 163813
 ServerID: perforce.ravenbrook.com
2008-01-24 18:25:29 +00:00
Richard Kistruck
3a14119529 mps br/vmarenagrow: remove test code that fails deliberately.
Copied from Perforce
 Change: 163758
 ServerID: perforce.ravenbrook.com
2008-01-11 19:29:34 +00:00
Richard Kistruck
16ef264ac5 Mps br/vmarenagrow: drop slices from top half of request until
satisified.  WARNING: contains test code that fails deliberately.

Copied from Perforce
 Change: 163757
 ServerID: perforce.ravenbrook.com
2008-01-11 19:25:17 +00:00
Richard Kistruck
e6d96d223a Mps br/vmarenagrow: new mps interface function mps_arena_vm_growth():
Client specifies extendBy and (new) extendMin.
(extendMin does not work yet)

Copied from Perforce
 Change: 163753
 ServerID: perforce.ravenbrook.com
2008-01-11 16:07:51 +00:00
Richard Kistruck
96407dd039 mps br/vmarenagrow: arenavm.c: vmchunkcreate() -- remove
deliberately-failing test code.

Copied from Perforce
 Change: 163668
 ServerID: perforce.ravenbrook.com
2007-12-21 13:15:06 +00:00
Richard Kistruck
441111bb2f mps br/vmarenagrow: arenavm.c: vmarenaextend() tidy up code to
choose chunk size, with a consistent, smaller (10%) .vmchunk.overhead 
 estimate.  Tidy diag and comments.

Copied from Perforce
 Change: 163667
 ServerID: perforce.ravenbrook.com
2007-12-21 13:08:37 +00:00
Richard Kistruck
475754161a mps br/vmarenagrow: arenavm.c: vmarenaextend() will:
a) choose a better chunkSize;
   b) fallback to smaller sizes if request fails.
 *** WARNING ***
 VMChunkCreate() has test-code that deliberately fails requests,
 for testing this functionality.

Copied from Perforce
 Change: 163665
 ServerID: perforce.ravenbrook.com
2007-12-20 18:00:50 +00:00
Richard Kistruck
1a2668dac7 Mps master: arenavm.c: fix vmarenadescribe to cope with any number
of gens, removing hardwired limit of 3.
vmArenaExtend(): diagnostic: report when VM arena is extended (#if0)

Copied from Perforce
 Change: 162933
 ServerID: perforce.ravenbrook.com
2007-07-18 18:17:55 +01:00
Richard Kistruck
6749f30dc0 Mps br/diag: diag-out with writef and diag_stream does not work in cet.
Hope to fix in time, but for now I need DIAG-out to work, so switch 
to printf (yes, really, I know, sorry).
Also, only do DIAG-out in variety.di, to avoid damage to .ci.
So for now, remove DIAG_WRITEF and DIAG from arenavm and trace.
To test, add DIAG_PRINTF in trace.

Copied from Perforce
 Change: 162387
 ServerID: perforce.ravenbrook.com
2007-05-21 16:28:50 +01:00
Richard Kistruck
5c41921474 Mps br/diag: diag-out text + arenadescribe every vmarenaextend,
(instead of every VMChunkCreate, which includes when making initial arena)

Copied from Perforce
 Change: 162224
 ServerID: perforce.ravenbrook.com
2007-04-27 17:23:21 +01:00
Richard Kistruck
a1372c49f3 Mps br/diag: arenavm.c: fix unused var super in vmarenadescribe
Copied from Perforce
 Change: 162217
 ServerID: perforce.ravenbrook.com
2007-04-27 15:51:31 +01:00
Richard Kistruck
bfce16e989 Mps br/diag: arenavm.c: fix unused var super in vmarenadescribe
Copied from Perforce
 Change: 162216
 ServerID: perforce.ravenbrook.com
2007-04-27 15:49:45 +01:00
Richard Kistruck
2be43e7a67 Mps br/diag: make vmarenadescribe show zones.
arena.c: turn off call from ArenaDescribe to GlobalsDescribe, 
 because it outputs too much stuff (perhaps this change should be 
 reverted later).

Copied from Perforce
 Change: 162212
 ServerID: perforce.ravenbrook.com
2007-04-27 15:02:45 +01:00
Richard Kistruck
8e3e85cce0 Mps br/diag: (not for release until diag is off in wi/we):
arenavm.c: add DIAG(ArenaDescribe) in VMChunkCreate;
amcss.c: make initial-size to mps_arena_create comically small, 
 to prompt VMChunkCreates and occasional MPS_RESERVE_BLOCK: 7's
 (== commit-limit, which is ok; probably)

Copied from Perforce
 Change: 162211
 ServerID: perforce.ravenbrook.com
2007-04-27 14:27:40 +01:00
Richard Kistruck
8bc0b88894 Mps br/diag: vmarenadescribe, plus comment in arena.c: .describe.triv.dont-upcall
Copied from Perforce
 Change: 162210
 ServerID: perforce.ravenbrook.com
2007-04-27 14:24:14 +01:00
Richard Kistruck
09cf54c122 Split-asserts: where an aver or checkl has two failure modes combined
with &&, split it into two AVERs or CHECKLs.  

Copied from Perforce
 Change: 155170
 ServerID: perforce.ravenbrook.com
2005-09-30 10:50:48 +01:00
Richard Brooksby
e854cd8e1d Merging branch mps/2002-05-22/open-source-prep.
Making some new files consistent with changes from that branch.
Deleting some new Global Graphics confidential files.

Copied from Perforce
 Change: 30256
 ServerID: perforce.ravenbrook.com
2002-06-18 16:19:34 +01:00
Nick Barnes
6a1a360814 Integrate changes from global graphics.
Copied from Perforce
 Change: 30250
 ServerID: perforce.ravenbrook.com
2002-06-18 14:14:55 +01:00
Richard Brooksby
78ef580722 Eliminating "impl" type tags and replacing them with uri-style file references.
Copied from Perforce
 Change: 29900
 ServerID: perforce.ravenbrook.com
2002-06-07 17:34:59 +01:00
Richard Brooksby
97075f7053 Updating cross references to design documents to html style, to go with master/design document tree.
Copied from Perforce
 Change: 29897
 ServerID: perforce.ravenbrook.com
2002-06-07 16:47:14 +01:00
Richard Brooksby
a0f676c8e1 Adding forward reference to licenses from copyright notices.
Adding licenses to a couple of files I missed.

Copied from Perforce
 Change: 29837
 ServerID: perforce.ravenbrook.com
2002-06-06 11:56:19 +01:00
Richard Brooksby
4301a6db0a Adding licenses to source code files.
Copied from Perforce
 Change: 29836
 ServerID: perforce.ravenbrook.com
2002-06-06 11:44:23 +01:00
Nick Barnes
db4b3a6fa5 Remove trailing whitespace.
Copied from Perforce
 Change: 25309
 ServerID: perforce.ravenbrook.com
2001-12-17 15:18:17 +00:00
Richard Brooksby
c0bb4cd3cd Removing hopenames from the master sources.
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames.

Copied from Perforce
 Change: 24911
 ServerID: perforce.ravenbrook.com
2001-12-07 13:19:25 +00:00
Richard Brooksby
3d5e2ca85f Adding hopenames back into the master sources, so that they can be included in the union sources along with the id keywords.
This was achieved by partially undoing changelist 24817, including an accidental corruption of eventgen.pl.

Copied from Perforce
 Change: 24877
 ServerID: perforce.ravenbrook.com
2001-12-06 18:14:02 +00:00
Richard Brooksby
b824e1c406 Updating copyright messages to say copyright 2001 ravenbrook throughout.
Adding some missing copyright messages.

Copied from Perforce
 Change: 24818
 ServerID: perforce.ravenbrook.com
2001-12-05 16:18:43 +00:00
Richard Brooksby
2589307099 Changing hopename keywords to id keywords throughout, to work with perforce.
Copied from Perforce
 Change: 24817
 ServerID: perforce.ravenbrook.com
2001-12-05 16:05:52 +00:00
Richard Brooksby
492dd3c684 Merging changes from union to masters. this incorporates pekka's updates: tuning and a type in amcsshe.c and some adding some missing checks in arenavm.c. it also brings our cope of their hopenames up to date.
Copied from Perforce
 Change: 24815
 ServerID: perforce.ravenbrook.com
2001-12-05 15:48:24 +00:00
Nick Barnes
7acfca905d Branch imports for masters.
Copied from Perforce
 Change: 23678
 ServerID: perforce.ravenbrook.com
2001-10-31 14:40:56 +00:00
Renamed from mps/src/arenavm.c (Browse further)