TxLinux and MetaTM: Transactional Memory and the Operating System. - Rossbach, Christopher J.; Ramadan, Hany E.; Hofmann, Owen S.; Porter, Donald E.; Bhandari, Aditya; Witchel, Emmett (Communications of the ACM, 2008)
TxLinux is the first operating system to use hardware transactional memory (HTM) as a sychronization primitive, and the first to manage HTM in the scheduler. TxLinux, which is a modification of Linux, is the first real-scale benchmark for transactional memory (TM). MetaTM is a modification of the x86 architecture that supports HTM in general and TxLinux specifically. This paper describes and measures TxLinux and MetaTM, the HTM model that supports it. TxLinux greatly benefits from a new primitive, called the cooperative transactional spinlock (cxspinlock) that allows locks and transactions to protect the same data while maintaining the advantages of both synchronization primitives. Integrating the TxLinux scheduler with the MetaTM's architectural support for HTM eliminates priority inversion for several real-world benchmarks.