MPS issue job004002

TitleCan't implement incremental condemn
Statusopen
Priorityoptional
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionThe MPS currently suspends the mutator during whitening. This is because the pool whiten methods read the buffer data in order to determine what to condemn in a buffered segment, and it is not safe to run this concurrently with the mutator. See request.dylan.160098 [1].
AnalysisThe solution needs to be on a pool-by-pool basis. Ideally:

1. the pool should not examine the buffer during the whiten step;
2. during fix the pool should ignore fixes to the unallocated portion of the buffer;
3. during reclaim we mustn't free a buffered segment, even if it appears to contain no live objects.

More detailed analysis in [2].
How foundinspection
Evidence[1] https://info.ravenbrook.com/project/mp...001-11-05/mmprevol/request/dylan/160098
[2] https://info.ravenbrook.com/mail/2016/04/13/18-04-07/0/
Created byGareth Rees
Created on2016-04-13 17:33:27
Last modified byGareth Rees
Last modified on2016-04-14 09:07:15
History2016-04-13 GDR Created.