The screen-audio pump opened and disposed a memory mapping plus its container lookup and path strings on every 5 ms tick - about 200 mapping pairs per second of steady allocation that churned the GC under long calls. The producer opens the ring with O_CREAT and never replaces it, so the pump now keeps one mapping across ticks and rebuilds it only when the ring file disappears or a drain fails.