Skip to content

harikrishnan94/lockfree-queues

Repository files navigation

Lockfree Multi-Producer Multi-Consumer queue

Based on MPMC Ring Buffer

Lockfree Multi-Producer Single-Consumer queue

Simplified version of MPMC queue

Lockfree Multi-Producer Single-Consumer Partitioned Per-CPU queue

  • Queue is partitioned into multiple per-cpu queues.
    • Forgoes FIFO ordering, since queue is partitioned.
  • Super fast - Uses only atomic_release and atomic_acquire operations.
  • Uses RSEQ Syscall, for maintaining correctness while manipulating per-cpu queues

Lockfree Single-Producer Single-Consumer queue

Simple FIFO queue