MPS issue job004016

TitleAMC pool may scan parts buffered segments many times
Statusopen
Priorityoptional
Assigned userRichard Brooksby
OrganizationRavenbrook
DescriptionWhen the AMC pool forwards an object it turns the destination segment grey via the forwarding buffer. If that segment is scanned up to the buffer scan limit, the segment is blackened (and so no longer read protected). But if another object is forwarded onto that same segment, it will turn grey again (and gain the reead barrier) and be scanned again from its base.
AnalysisThis behaviour is not incorrect, and it's not clear how often it actually happens, so the impact is unknown and should be assessed.
If the problem is significant, then AMC might need to keep track of parts of segments already scanned, so that it knows which part of a segment is black and which is grey. This is per-trace information. It might be sufficient to do this only while the segment is buffered, and take the hit of a possible single extra scan when the buffer is emptied, so that we store this information in the AMC buffer struct, rather than for every AMC segment.
How foundinspection
Evidencepoolamc.c AMCScan
Created byRichard Brooksby
Created on2016-04-20 14:14:53
Last modified byRichard Brooksby
Last modified on2016-04-20 14:14:53
History2016-04-20 RB Created.