| Title | Trace mortality prediction is bogus |
| Status | closed |
| Priority | optional |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | The 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. |
| Analysis | None |
| How found | inspection |
| Evidence | None |
| Created by | Gareth Rees |
| Created on | 2018-07-13 19:18:40 |
| Last modified by | Gareth Rees |
| Last modified on | 2018-07-13 19:31:23 |
| History | 2018-07-13 GDR Created. |
| 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"). |