Messages in this thread | | | Date | Mon, 21 Apr 2014 10:50:23 -0700 | From | Randy Dunlap <> | Subject | Re: Futex Question (64 bits?) |
| |
[adding Rusty]
On 03/24/2014 02:19 PM, Ryan Nicholl wrote: > I would like to know if it would be possible to use a 64 bit futex > call? If not, I would like to request it be added. (It is acknowledged > in the manpages that it must be added eventually anyway.) > > I am programming a C++11+ library. One of the constructed features is > a "locking pointer". Unfortunately, pointers are usually 64 bits, > while the futex call supports only 32 bits. I could not discover any > documented way to invoke a 64 bit futex call. > > It's unfortunate in that the futex call must have a timeout set > because of the possible deadlock condition where only the half of the > pointer not futexed is modified between the time the system call is > entered and executed. > > This creates a situation that prevents the locking_ptr from being > realtime safe unless the timeout is set at a very low value. > Furthermore, this causes excess CPU usage due to spurious wakeups. > > Thank you, > Ryan Nicholl > --
-- ~Randy
| |