[DGD] passive dataspace/control block allocation

Shentino shentino at gmail.com
Wed Jun 27 20:14:07 CEST 2012


Me and felix were talking awhile ago about this, but basically I was
noticing that when objects get dragged out of the dump file and put
into the swap file during rebuild, that they were getting read in as
if referenced during execution.

My new feature is "passive allocation" which basically is a flag used
during allocation of new dataspaces and control blocks that does a
couple of things:

1)  When a new dataspace or control block is allocated, it's shoved to
the tail end of the LRU list so as to be the first one swapped out
when memory gets tight, so as to avoid polluting the cache

2)  When we are operating passively (i.e., doing housekeeping and not
running actual LPC code), fresh references to dataspaces and control
blocks don't bump them to the head of the list.

Comments on this scheme are appreciated.

Also, for felix and others, I have this feature in my "upstream"
branch of http://github.com/shentino/dgd, which anyone can use to test
or merge as they see fit.

Later I plan to have "passively allocated" dataspaces and control
blocks tagged as such so that they can have similiar treatment when
pushed out to the swap cache.



More information about the DGD mailing list