MPS issue job000666

TitleDifficult to tell what collections are happening
Statusclosed
Priorityessential
Assigned userDavid Jones
OrganizationRavenbrook
DescriptionDifficult to tell what collections are happening

Related jobs:
  Part of a larger task: job001150 "MPS doesn't provide enough feedback information about what it is doing or what it has done"
  Defect in _gc_start messages: job001570 "MPS _gc_start messages may change while client reads them, or be silently skipped"

When a collection starts we do not know what is going on. It is
essentially for debugging and inspecting behaviour that we have
some top-level idea of what collection happened. Something
along the lines of: "collecting AMC Gen 0 into Gen 1, Gen 1 into
Gen 2, Gen 2 into Gen 2", or "collecting AMC Gen 0 into Gen 1,
scanning rest".
We barely know when collections start and finish.
AnalysisWe need a high level description of the collection that the MPS
has decided to. Something that gives a description similar to
one a human would give would be good.

Of course, in the MPS things are never quite so simple;
when a generation is condemned some of its segments might not be
(EG has an allocation buffer on that segment). Current tracer
tactics involve condemning by zone, so this in fact might (in
bad circumstances) end up condemning only parts of generations.

Currently we can start a collection for one of the following
reasons:
  * Some Chain has a Nursery generation that is full.
  * "Dynamic Criterion" ie we need to collect everything before
    we run out of memory.
  * opportunistic GC.

RHSK 2006-12-27
See <http://info.ravenbrook.com/project/mps...5-31/feedback/manual/wiki/gc_story.html> for anlaysis of what MPS condemns.
How foundunknown
EvidenceCorrespondence with Configura, EG
http://info.ravenbrook.com/mail/2003/01/24/14-33-20/0.txt
Created byDavid Jones
Created on2003-02-13 16:09:40
Last modified byGareth Rees
Last modified on2010-10-07 11:16:09
History2003-02-13 DRJ created
2003-02-17 DRJ added title and reasons for starting a GC
2005-03-10 RHSK subsumed into job001150 (no longer)
2006-12-27 RHSK unsubsume this job! This is initial _gc_start message implementation.

Fixes

Change Effect Date User Description
161206 closed 2006-12-12 10:14:50 Richard Kistruck MPS readme: when MPS starts aq collection, it now posts a message (job000666)
161205 closed 2006-12-12 10:06:27 Richard Kistruck MPS mpmtypes.h (comment only) MessageTypeGCSTART matches MPS_MESSAGE_TYPE_GC_START
161204 closed 2006-12-12 09:56:09 Richard Kistruck MPS integrate gcgenmsg into master:
  - new mps_message_type_gc_start() explains what triggered a collection;
  - design/message: add guide.