Guile GC Heap Sizing Heuristics: A Live-Lock Story
The Guile project is integrating a Nofl-based conservative scanning garbage collector. Currently using a growable heap policy, the heap size is adjusted by a multiplier to account for fragmentation. However, severe fragmentation can lead to allocation failures and deadlocks even when the heap is twice the expected size. The post explores solutions: increasing the multiplier, changing heap organization, and reserving empty blocks for the Nofl collector. The goal is efficient handling of fragmentation and deadlock avoidance.
Read more