lkml.org 
[lkml]   [2003]   [Oct]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subject[PATCH]Futex doc.
From
Date
Hi,
Someone could help me having a complete futex doc ?
Here's a first version :

Regards,
Fabian

Documentation for futexes kernel version 2.6.0-test6
(c) 2003 Fabian Frederick <ffrederick@users.sourceforge.net>

Note : Based on user man page by Bert Hubert - Comments by Jamie Lokier.

===============================================================================

This file contains documentation for Fast Userspace Mutexes.
For complete authors list and sources you can read /kernel/futex.c

===============================================================================

What's a mutex ?

Mutex stands for mutual exclusion.In other words, it helps synchronizing processes
against shared memory access for instance.

Futex is basically a counter whose value is atomically updated in userland.
Any concurrent access will be managed in kernel space.

3 futex types exist :

-shared
-private
-both

===============================================================================

Linux implementation

You can find POSIX mutex adaptation through futexes.User point of view and
documentation can be found at http://ds9a.nl/futex-manpages/

Futex interface is sys_futex syscall.Here are recognized operations:

-FUTEX_WAIT : Wait a process to up futex.
-FUTEX_WAKE : Wake up all futex waiters.
-FUTEX_FD : Associate a file descriptor to futex
-FUTEX_REQUEUE : Requeue all waiters hashed on one physical page to another
physical page.



___________________________________



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

\
 
 \ /
  Last update: 2005-03-22 13:58    [W:0.037 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site