Skip to Main content Skip to Navigation

Futex based locks for C11's generic atomics

Jens Gustedt 1
1 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
Abstract : We present a new algorithm and implementation of a lock primitive that is based on Linux' native lock interface, the futex system call. It allows us to assemble compiler support for atomic data structures that can not be handled through specific hardware instructions. Such a tool is needed for C11's atomics interface because here an _Atomic qualification can be attached to almost any data type. Our lock data structure for that purpose meets very specific criteria concerning its field of operation and its performance. By that we are able to outperform gcc's libatomic library by around 60%.
Complete list of metadatas

Cited literature [7 references]  Display  Hide  Download
Contributor : Jens Gustedt <>
Submitted on : Wednesday, December 2, 2015 - 10:55:13 AM
Last modification on : Thursday, March 5, 2020 - 4:50:47 PM
Long-term archiving on: : Saturday, April 29, 2017 - 3:01:16 AM


Files produced by the author(s)


  • HAL Id : hal-01236734, version 1


Jens Gustedt. Futex based locks for C11's generic atomics. [Research Report] RR-8818, INRIA Nancy. 2015. ⟨hal-01236734⟩



Record views


Files downloads