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. |