Any garbage collecting scheme has to be implementable on all architectures (like ref counting is), not too punishing on the cache (like ref counting is), and fairly small and simple (like ref counting).
Despite its disadvantages, ref counting still has (and will perhaps always have) its place. In particular, the number of counts for modules is probably quite low, and fairly static, so that inc/decref performance issues aren't much concern (but cache issues are). Circular dependencies may be the bigger problem, but even then, in the limited domain of kernel modules, one that might be addressed in a straightforward way.
However, I welcome comments about what specific advantages other garbage collecting schemes might offer.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds