The new sref module provides scalable reference counters, implemented as described in the RadixVM paper (3.1 Reference counting with Refcache). Weak references aren’t supported, since I’m not sure they’ll actually be needed, but it’s already realtime-friendly, as all critical sections implemented by disabling preemption are constant-time and short, and also dyntick-friendly, by tracking which processors actually participate in reference counting, without the need to regularly wake idle processors to function. Along with per-processor page tables, this was the last major step towards revamping (and completing) the virtual memory system.