[$] The shrinking role of semaphores
The kernel's handling of concurrency has changed a lot over the years. In2023, a kernel developer's toolkit includes tools like completions, highlyoptimized mutexes, and a variety of locklessalgorithms. But, once upon a time, concurrency control came down tothe use of simple semaphores; a discussion on a small change to thesemaphore API shows just how much the role of semaphores has changed overthe course of the kernel's history.