Implementing Transactional Memory in Kernel space

By Breno Leitão, IBM

Transactional Memory is one of the newest hardware features that enable atomic transactions in processor level aiming to simplify concurrent programming by allowing a group of load and store instructions to execute in an atomic way.

Transactional memory is being deployed on low level synchronization primitives, as locks and atomic operations on multi CPU machines.

This feature is available on the most recent CPUs, as Intel Haswell through Transactional Synchronization Extensions (TSX) extension, AMD Advanced Synchronization Facility (ASF), IBM POWER8, s390x and Oracle Sparc.

This presentation will cover the kernel space implementation of HTM in both Linux and FreeBSD. The Power architecture will be used as the reference architecture for this presentation.


Breno Leitao is a FOSS enthusiastic and Linux user since 1997. He is currently a Debian Developer, an Alpine Linux maintainer and a FreeBSD committer. Breno has been working at Linux Technology Center/IBM for the last 10 years.