By David Howells and Paul E. McKenney. The Linux Kernel documentation hosts this authored guide; no publication date is asserted.
Cited passages: What is a circular buffer?; Measuring power-of-2 buffers; Using memory barriers with circular buffers, including The producer and The Consumer. Its reserved-slot and synchronization conventions are specific to the presented implementation.