aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/mpmc_ptr_ring.h (follow)
Commit message (Expand)AuthorAgeFilesLines
* Disable preemption in produce()Thomas Gschwantner2018-06-251-1/+5
* BenchmarkThomas Gschwantner2018-06-221-6/+14
* mpmc_ptr_ring: add {,un}likely() annotationsThomas Gschwantner2018-06-221-3/+3
* mpmc_ptr_ring: use atomic_try_cmpxchg()Thomas Gschwantner2018-06-221-12/+10
* mpmc_ptr_ring: Fix a wordJonathan Neuschäfer2018-06-221-1/+1
* mpmc_ptr_ring: Include all necessary headersJonathan Neuschäfer2018-06-221-0/+11
* mpmc_ptr_ring: Fix some style detailsJonathan Neuschäfer2018-06-221-1/+1
* mpmc_ptr_ring: calculate mask once and store itThomas Gschwantner2018-06-221-3/+5
* mpmc_ptr_ring: use unsigned int instead of size_tThomas Gschwantner2018-06-221-10/+10
* mpmc_ptr_ring: add include guardThomas Gschwantner2018-06-221-0/+6
* mpmc_ptr_ring: Switch to smp_[rw]mb()Jonathan Neuschäfer2018-06-221-8/+8
* messages: Ensure that there are more queue slots than CPUsJonathan Neuschäfer2018-06-221-0/+3
* mpmc_ptr_ring: Place producer_head and producer_tail in the same cachelineJonathan Neuschäfer2018-06-221-5/+3
* mpmc_ptr_ring: Use atomic_t instead of atomic_long_tJonathan Neuschäfer2018-06-221-20/+20
* mpmc_ptr_ring: Eliminate false sharing in struct mpmc_ptr_ringJonathan Neuschäfer2018-06-221-3/+3
* mpmc_ptr_ring: Reduce the memory barrier usageJonathan Neuschäfer2018-06-221-26/+22
* mpmc_ptr_ring: Fix the remaining crashJonathan Neuschäfer2018-06-221-2/+2
* [WIP] Implement a lock-free MPMC ring bufferJonathan Neuschäfer2018-06-221-0/+212