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

https://hal.inria.fr/hal-01236734
Contributor : Jens Gustedt <>
Submitted on : Wednesday, December 2, 2015 - 10:55:13 AM
Last modification on : Saturday, October 27, 2018 - 1:27:27 AM
Long-term archiving on : Saturday, April 29, 2017 - 3:01:16 AM

File

RR-8818.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01236734, version 1

Citation

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

Share

Metrics

Record views

584

Files downloads

756