[rucksack-devel] thoughts on deferring GC

Cyrus Harmon ch-rucksack at bobobeach.com
Tue Jan 16 09:47:32 UTC 2007


So, in order to get my persistent object creation stuff working  
properly, I've had to disable rucksack's GC-ing. This brings up a  
couple questions:

1. Do we want an interface for doing GC at some point? I see collect- 
some-garbage, which is called from with-transaction, but only to GC  
an amount proportional to the amount of space allocated in that  
transaction. How do we go about recovering the additional space from  
the transactions with :gc-inhibit t?

2. Do we ever reclaim the disk space, besides just freeing the blocks  
up for later use?

3. The GC code seems to give SBCL fits. I'm a bit concerned about the  
fake_foreign_call falling through stuff, which is basically a SIGILL  
or SIGBUS in SBCL. These occasionally happen under rare circumstances  
with SBCL, but GC, both during the transaction, and when done after  
the fact, seem to greatly increase the likelihood of this happening.  
Either we're doing something funky or we're tickling an SBCL bug  
that's causing it to go haywire.

Thanks,

Cyrus




More information about the rucksack-devel mailing list