Talk:Futex

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Benaphore[edit]

I've just fixed the reference to benaphores to mention that they're similar, but not the same. Specifically (in case anyone wants to go find reference material and write a paragraph for the article) the Benaphore always requires an OS semaphore, so if you have 1000 Benaphores you need also 1000 of the (relatively scarce) OS semaphores, in addition to the atomic variables, just in case any of your benephores are contended. In contrast if you have 1000 futexes you don't use any kernel resources at all except when one of them is contended.

Linux is also able to promise that futexes will work correctly between processes (because it provides a way for them to map the same RAM), whereas in BeOS the benaphore worked only among threads within a single process. 2001:8B0:FBB0:1247:21A:4DFF:FE96:2C2B (talk) 16:14, 1 June 2013 (UTC)[reply]

WTF[edit]

As a programmer of 20 years, I just came to this page wondering what "futxes" are and left none the wiser. Am I stupid or is this page just filled with jargon but no clear normal English explanation? — Preceding unsigned comment added by 118.174.38.58 (talk) 19:42, 18 June 2017 (UTC)[reply]

It is a hard thing to describe, as they don't do much on their own. Which is why the summary in the first line is just "building blocks for implementing semaphores", and the rest are details of how they operate. We can then only describe what it is and what can be done on it. I thought that was should be clear enough, they are wait-queues with an atomic integer and a few special operations, which is basically half of a semaphore implementation if you know how semaphores are implemented. Are there anything in particular you stumbled on that could be improved? Carewolf (talk) 11:37, 19 June 2017 (UTC)[reply]
This article may have evolved since this complaint; to me, it seems to be perfectly understandable to anyone who understands mutexes and semaphores, which are both linked in the first paragraph. BernardoSulzbach (talk) 09:39, 7 August 2021 (UTC)[reply]

Bugs fixed[edit]

The "History" section mentions a few instances where futexes introduced bugs into Linux. But there are no mentions of whether those bugs were ever fixed or not. Were they? — Loadmaster (talk) 17:01, 11 April 2018 (UTC)[reply]

Of course they were. Feel free to complete it though. I would just assumed they were fixed before they were announced publically, that is how it usually works.Carewolf (talk) 08:28, 14 April 2018 (UTC)[reply]

FUTEX2?[edit]

Someone tagged the History section as missing information about "FUTEX2 by Valve". However it seems the one who put the tag obviously knows something about it as they've put a basic description within the tag, so I wonder if their time would have been better spent writing that stuff into the article (and finding sources for the info) instead of putting up the tag. They also left no notice here so we don't know what's up with that at all.

I've never heard of it and don't know if it's notable enough. The tag is up for half a year and nobody moved a finger about it, so I'd guess it's not that notable. If nobody reacts soon, I feel it would be safe to remove that tag and copying the request here if anyone in the future is interested in researching that.

Thoughts?

--Arny (talk) 15:57, 6 May 2022 (UTC)[reply]

I'm sitting in a talk that made a brief mention of the story of futex2 specifically at FOSDEM. You can find it here. Might be worth adding this. It does sound interesting and worth including. Rdelfin (talk) 14:41, 5 February 2023 (UTC)[reply]