lkml.org 
[lkml]   [2014]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectFutex Question (64 bits?)
From
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


\
 
 \ /
  Last update: 2014-03-24 23:01    [W:0.054 / U:0.552 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site