MPS issue job001715

TitleMPS fails to lower barrier when hit: multiple hits cause slowdown (CONJECTURE)
Statusopen
Prioritynice
Assigned userRichard Brooksby
OrganizationRavenbrook
DescriptionMPS fails to lower barrier when hit: multiple hits cause slowdown (CONJECTURE)

NOTE: This defect has not been shown to exist. (If it exists, it is surprising that it has not been noticed already). However, source code inspection has raised the possibility of its existence, and it should be investigated. RHSK 2007-09-28.

Conjectured defect:
When the MPS scans and preserves objects, it keeps a record of the references they contain in a "summary". The MPS places a write-barrier on the objects, so that it can invalidate the summary if the client ever modifies the objects.

If the client does *not* modify (write), but does read these objects, then -- on some platforms -- it is possible that:
  a) the barrier is unnecessarily 'hit', causing an interrupt, which takes many CPU cycles; but
  b) the barrier is not removed.

(Note: Windows may be such a platform. Note: (a) is unavoidable because of the operating system; (b) could be changed.)

This means that if the client frequently reads these objects, it may frequently incur the interrupt processing overhead.
AnalysisRHSK 2007-09-28

See <http://info.ravenbrook.com/mail/2007/09/28/14-21-46/0.txt>.
(If the defect is real, write a summary here in the job!)
How foundunknown
Evidencesource
Observed in1.108.0
Created byRichard Kistruck
Created on2007-09-28 17:24:51
Last modified byRichard Brooksby
Last modified on2013-06-16 07:46:08
History2007-09-28 RHSK Created
2013-03-19 GDR Assigned to RB.
2013-06-16 RB Downgraded to "nice" as there is no evidence that this is affecting anyone (see job003499).