jberryman / unagi-chan

A haskell library implementing fast and scalable concurrent queues for x86, with a Chan-like API
BSD 3-Clause "New" or "Revised" License
127 stars 15 forks source link

Use inspection-testing (or similar) to ensure no allocation, to obtain true wait-free #41

Open jberryman opened 3 years ago

jberryman commented 3 years ago

If we can ensure we never allocate between the counter increment and the array write/read, then we get effectively a wait-free queue, can remove the "blocks at most one reader/writer" language.

(also, apropos of nothing: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/paper-18.pdf )