VOOZH about

URL: https://www.phoronix.com/news/Linux-6.17-FUTEX

⇱ Linux 6.17 Fixes A Performance Bottleneck In The Futex Code - Phoronix


👁 Phoronix

Linux 6.17 Fixes A Performance Bottleneck In The Futex Code

Written by Michael Larabel in Linux Kernel on 6 August 2025 at 08:50 AM EDT. Add A Comment
Merged last week for Linux 6.17 were the FUTEX locking changes that include addressing an observed performance bottleneck.

Prominent Linux engineer Peter Zijlstra at Intel adapted the FUTEX code to use a RCU-based, per-CPU reference counting to address a performance bottleneck found within the existing code that used a single instance variant.

Peter explained with the patch addressing the FUTEX performance bottleneck:
"The use of rcuref_t for reference counting introduces a performance bottleneck when accessed concurrently by multiple threads during futex operations.

Replace rcuref_t with special crafted per-CPU reference counters. The lifetime logic remains the same.

The newly allocate private hash starts in FR_PERCPU state. In this state, each futex operation that requires the private hash uses a per-CPU counter (an unsigned int) for incrementing or decrementing the reference count."

The FUTEX improvements were merged last week to Linux 6.17 Git as part of the locking/futex pull request.

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.