[DGD] 1.2.133

Shentino shentino at gmail.com
Thu Dec 20 17:40:37 CET 2007


I was just about to complain about massive reboot delays when an
unexpected illness put me down for awhile.

Anyway, thanks for this latest patch.  I certainly look forward to
cleaner callouts.

> On Wed, 19 Dec 2007 18:24:37 +0100, Felix A. Croes wrote
> >
> > Creating a state dump does not require swapout(), though it used to
> > be the case that you periodically had to do a swapout to allow DGD to
> > perform full garbage collection (which is now fully automatic).

Would this include "mopping up" references to destructed objects?,
like, say, swapped out object X has references to newly destructed
object Y.  Does your "garbage collection" cover combing out old Y refs
from X's dataspace?  Also, if so how aggressively are they mopped up?
Is it like a "shoot on sight" deal on swapin?  I'm just curious,
that's all.

Also, something I wanted to ask you.

I did some snooping in the source and found something very surprising.

Namely, that swap_fragment seems to have more influence on runtime
memory usage than cache_size.  The d_swapout seems to pick some
certain fraction to "swap out" ALL THE TIME, not just when it's over
cache_size.

Could you elaborate?  And, I would like a way to fine tune this a bit
better, say, by either raising or lowering the "swapout quota".  The
swapout rate seems to ramp up gradually and proportionally, but having
a way to set the minimum either higher or lower than swap_fragment
would be nice.  Having a nice lazy trickle out would IMHO be a nice
thing to do in the background, and reserving the "heavy lifting" for
cases when we're really badly membloated would IMHO be more responsive
than just a blind one dimensional parameter.  What do you think?

BTW, I'm double checking swapout behavior, because I need to reconcile
this apparent contradiction with stuff I found on the phantasmal site.



More information about the DGD mailing list