Re: Futex Question (64 bits?)

From: Randy Dunlap
Date: Mon Apr 21 2014 - 13:50:31 EST


[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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/