Skip to main content

Module futex

Module futex 

Source
Expand description

Futex (Fast Userspace Mutex) syscall handlers

Structsยง

FutexBucket ๐Ÿ”’
FutexBucketEntry ๐Ÿ”’
FutexQueue ๐Ÿ”’
FutexWakeOpEncode ๐Ÿ”’

Constantsยง

FUTEX_BUCKET_CAPACITY ๐Ÿ”’
Max distinct futex addresses per bucket.
FUTEX_QUEUE_BUCKETS ๐Ÿ”’
Number of independent hash buckets. Must be a power of two.
FUTEX_WAITERS_CAPACITY ๐Ÿ”’
Max concurrent waiters on a single futex address.

Staticsยง

FUTEX_QUEUES ๐Ÿ”’

Functionsยง

atomic_cmpxchg_u32 ๐Ÿ”’
Performs the atomic cmpxchg u32 operation.
atomic_fetch_update_u32 ๐Ÿ”’
Performs the atomic fetch update u32 operation.
do_requeue ๐Ÿ”’
Performs the do requeue operation.
futex_bucket ๐Ÿ”’
futex_bucket_index ๐Ÿ”’
get_queue ๐Ÿ”’
Returns queue.
lock_two_queues ๐Ÿ”’
Performs the lock two queues operation.
lookup_queue ๐Ÿ”’
read_u32 ๐Ÿ”’
Reads u32.
sys_futex_cmp_requeue
SYS_FUTEX_CMP_REQUEUE: Conditional requeue
sys_futex_requeue
SYS_FUTEX_REQUEUE: Requeue waiters from one futex to another
sys_futex_wait
SYS_FUTEX_WAIT: Wait on a futex
sys_futex_wake
SYS_FUTEX_WAKE: Wake waiters on a futex
sys_futex_wake_op
SYS_FUTEX_WAKE_OP: Wake with atomic operation
try_gc_queue ๐Ÿ”’
Removes the queue entry for addr from its bucket if the queue is empty.
wake_from_waiters ๐Ÿ”’
Performs the wake from waiters operation.