multi producer / multi consumer lock-free queue with ptr_ring

Jason A. Donenfeld Jason at
Wed Oct 4 13:18:24 CEST 2017

Hey Michael,

Thanks for your work on ptr_ring.h. I'm interested in using it, but in
a multi-producer, multi-consumer context. I realize it's been designed
for a single-producer, single-consumer context, and thus uses a
spinlock. I'm wondering if you'd be happy to receive patches that
implement things in a lock-free way, in order to make the data
structure more broadly usable.

In case you're curious, this would be used for the multi-core
algorithms in WireGuard.


More information about the WireGuard mailing list