On my part. Here's a way we can dodge the whole neonate, infant 
mortality nonsense.

Instead of marking everything dead at the beginning of a DOD run, 
which'll get us the most aggressive cleanup, we mark things dead at 
the *end* of the run. Then we also allocate all our headers marked as 
live on allocation, and make sure there's some minimum number of free 
headers after the end of a DOD run to make sure we don't collect too 
soon.

This'll mean we don't have a neonate problem, though we trade that 
off with having all headers live through at least one DOD sweep. We 
can, if we want, have a separate DOD routine that does the mark as 
dead first (and last) that the explicit DOD trigger op can use so we 
don't have to worry about things living longer than they should.

We could call them conservative_DOD and aggressive_DOD or something 
along those lines, if we wanted.
-- 
                                         Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                       teddy bears get drunk

Reply via email to