MPS issue job004094

TitleTrace mortality prediction is bogus
Statusclosed
Priorityoptional
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionThe computation of the predicted mortality for a trace in policyCondemnChain is bogus:

1. GenDescNewSize is called after condemning the segments in the generation. But this is too late: after condemnation, the memory is accounted as "old" and not "new".

2. The mortality of a generation is computed in GenDescEndTrace with the denominator being the condemned memory. So when predicting the mortality of a trace, the denominator needs to be the memory condemned for that trace, not the new size of the generation.
AnalysisNone
How foundinspection
EvidenceNone
Created byGareth Rees
Created on2018-07-13 19:18:40
Last modified byGareth Rees
Last modified on2018-07-13 19:31:23
History2018-07-13 GDR Created.

Fixes

Change Effect Date User Description
194645 closed 2018-07-13 19:31:23 Gareth Rees 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.
194628 open 2018-07-13 10:55:30 Gareth Rees Must get the new size of the generation before condemning it (afterwards, the condemned memory is accounted as "old", not "new").