futex_wait_requeue_pi man page on OpenSuSE

Man page or keyword search:  
man Server   25941 pages
apropos Keyword Search (all sections)
Output format
OpenSuSE logo
[printable version]

FUTEX_WAIT_REQUEUE_P(9)	      Futex API reference      FUTEX_WAIT_REQUEUE_P(9)

NAME
       futex_wait_requeue_pi - Wait on uaddr and take uaddr2

SYNOPSIS
       int futex_wait_requeue_pi(u32 __user * uaddr, unsigned int flags,
				 u32 val, ktime_t * abs_time, u32 bitset,
				 u32 __user * uaddr2);

ARGUMENTS
       uaddr
	   the futex we initially wait on (non-pi)

       flags
	   futex flags (FLAGS_SHARED, FLAGS_CLOCKRT, etc.), they must be the
	   same type, no requeueing from private to shared, etc.

       val
	   the expected value of uaddr

       abs_time
	   absolute timeout

       bitset
	   32 bit wakeup bitset set by userspace, defaults to all

       uaddr2
	   the pi futex we will take prior to returning to user-space

DESCRIPTION
       The caller will wait on uaddr and will be requeued by futex_requeue to
       uaddr2 which must be PI aware and unique from uaddr. Normal wakeup will
       wake on uaddr2 and complete the acquisition of the rt_mutex prior to
       returning to userspace. This ensures the rt_mutex maintains an owner
       when it has waiters; without one, the pi logic would not know which
       task to boost/deboost, if there was a need to.

       We call schedule in futex_wait_queue_me when we enqueue and return
       there via the following-- 1) wakeup on uaddr2 after an atomic lock
       acquisition by futex_requeue 2) wakeup on uaddr2 after a requeue 3)
       signal 4) timeout

       If 3, cleanup and return -ERESTARTNOINTR.

       If 2, we may then block on trying to take the rt_mutex and return via:
       5) successful lock 6) signal 7) timeout 8) other lock acquisition
       failure

       If 6, return -EWOULDBLOCK (restarting the syscall would do the same).

       If 4 or 7, we cleanup and return with -ETIMEDOUT.

RETURN
       0 - On success; <0 - On error

AUTHOR
       Rusty Russell <rusty@rustcorp.com.au>
	   Author.

COPYRIGHT
Kernel Hackers Manual 3.11	 November 2013	       FUTEX_WAIT_REQUEUE_P(9)
[top]

List of man pages available for OpenSuSE

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net