| Title | Can't implement incremental condemn |
| Status | open |
| Priority | optional |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | The 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]. |
| Analysis | The 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 found | inspection |
| 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 by | Gareth Rees |
| Created on | 2016-04-13 17:33:27 |
| Last modified by | Gareth Rees |
| Last modified on | 2016-04-14 09:07:15 |
| History | 2016-04-13 GDR Created. |