multi producer / multi consumer lock-free queue with ptr_ring
From: Jason A. Donenfeld
Date: Wed Oct 04 2017 - 07:18:34 EST
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.
Thanks,
Jason