[$] The shrinking role of semaphores

Post Syndicated from original https://lwn.net/Articles/928026/

The kernel’s handling of concurrency has changed a lot over the years. In
2023, a kernel developer’s toolkit includes tools like completions, highly
optimized mutexes, and a variety of lockless
algorithms
. But, once upon a time, concurrency control came down to
the use of simple semaphores; a discussion on a small change to the
semaphore API shows just how much the role of semaphores has changed over
the course of the kernel’s history.