Futex - CompWisdom
About us  |  Why use us?  |  Press  |  Contact us

 

Topic: Futex



  
 futex
Futexes are typically used to implement the contended case of a lock in shared memory, as described in futex(4).
Futexes were designed and worked on by Hubertus Franke (IBM Thomas J. Watson Research Center), Matthew Kirkwood, Ingo Molnar (Red Hat) and Rusty Russell (IBM Linux Technology Center).
Implementors are expected to be assembly literate and to have read the sources of the futex userspace library referenced below.
http://ds9a.nl/futex-manpages/futex2.html   (737 words)

  
 Futex - Wikipedia, the free encyclopedia
A futex consists of a piece of memory (an aligned integer) that can be shared between processes; it can be incremented and decremented by atomic assembler instructions, and processes can wait for the value to become positive.
Futexes were created by Hubertus Franke (IBM Thomas J. Watson Research Center), Matthew Kirkwood, Ingo Molnar (Red Hat) and Rusty Russell (IBM Linux Technology Center).
Hubertus Franke, Rusty Russell, Matthew Kirkwood, fuss, futexes and furwocks: Fast Userlevel Locking in Linux, Ottawa Linux Symposium 2002, online
http://en.wikipedia.org/wiki/Futex   (246 words)

  
 Gmane -- Mail To News And Back Again
To solve this problem, 'Robust Futex' patches were created and presented on lkml: the one written by Todd Kneisel and David Singleton is the most advanced at the moment.
To answer that, we first need to understand what futexes are: normal futexes are special types of locks that in the noncontended case can be acquired/released from userspace without having to enter the kernel.
New approach to robust futexes ------------------------------ At the heart of this new approach there is a per-thread private list of robust locks that userspace is holding (maintained by glibc) - which userspace list is registered with the kernel via a new syscall [this registration happens at most once per thread lifetime].
http://article.gmane.org/gmane.linux.kernel/379641   (1506 words)

  
 lowlevellock.h - IA64wiki
In this context, futex represents 1 - untaken 0 - taken by one user <0 - taken by more users ------------------------------------------- lll_trylock (int *futex) ------------------------------------------- if (*futex == 1) atomic_decrement(futex); return false else return true as above, use a compare and swap for the if/dec operation.
With only two users, one holding the lock and one waiting for it, the second user will do an unnecessary futex call after it got the lock and releases it again.
------------------------------------------- lll_mutex_lock (int *futex) ------------------------------------------- increment the lock.
http://www.gelato.unsw.edu.au/IA64wiki/lowlevellock.h   (554 words)

  
 Conference Call 4/6/2005 Minutes
This multiplexed interface to Fusyn is built on top of the Futex Interface, and was implemented to demonstrate performance differences between the Futex interface and the Fusyn interface.
Joe Korty noted that the Futex-based abstraction, originally used for measurement, cannot emulate Futexes perfectly, and that finding the minor discrepancies between the two implementations is time consuming, especially since Futex is a moving target at this time.
Ordered wait queues, however, are supported when using Futex interface.
http://lists.osdl.org/pipermail/robustmutexes/2005-April/000532.html   (1011 words)

  
 LWN: Patch: futex-2.5.40-B5
It used to do an unconditional get_user_pages() call, which did a vma lookup and other heavy-handed tactics - while the common case is that the page is mapped and available.
The bugfixes are: - fix locking bug noticed by Martin Wirth: the ordering of page_table_lock, vcache_lock and futex_lock was inconsistent and created the possibility of an SMP deadlock.
the attached patch (against BK-curr) adds a number of futex bugfixes, performance improvements and cleanups.
http://lwn.net/Articles/11483   (594 words)

  
 [SunRay-Users] sunray debian audio
futex resumed>) = 0 [pid 13138] poll( [pid 13141] futex(0x8064008, FUTEX_WAKE, 1) = 0 [pid 13141] futex(0x8094ef0, FUTEX_WAIT, 0, NULL [pid 13138] <...
http://www.filibeto.org/pipermail/sunray-users/2005-April/000691.html   (184 words)

  
 Linux: A virtual-to-physical page mapping cache
Ingo Molnar's vcache code, part of his ongoing futex work, has been merged into the 2.5.39 development kernel.
It implements "a 'mapping change' notification for virtual lookup caches, and makes the futex code use that to keep the futex page pinning consistent across copy-on-write events in the VM space.
it will then be serialized by the futex lock in the callback function.
http://kerneltrap.org/node/434   (2239 words)

  
 LKML: david singleton: robust futex patch for 2.6.14-rc3-rt13
There is also one fix to futex.c where the first waiter on a futex waits instead of returning -EAGAIN.
Ingo, here's a patch for the robust futex changes that match the glibc/nptl changes for robust futexes.
*/ @@ -1179,16 +1174,6 @@ goto out_release_sem; } - /* - * user mode called us because futex had owner and waitflag was - * set.
http://lkml.org/lkml/2005/10/8/75   (301 words)

  
 [PATCH] Add FUTEX_CMP_REQUEUE futex op Linux Kernel
The base futex concept and interface is simple (although the
(you have a special wrapper around futex anyway, so why not to handle
>    (you have a special wrapper around futex anyway, so why not to handle
http://www.gossamer-threads.com/lists/linux/kernel/442342?do=post_view_flat   (4581 words)

  
 Linux-Kernel Archive: [PATCH] Futex Asynchronous Interface
a futex to a file descriptor, for use with poll/select or SIGIO
Maybe reply: Martin Wirth: "Re: [PATCH] Futex Asynchronous Interface"
*/ head = hash_futex(page, pos_in_page); switch (op) { case FUTEX_WAIT: @@ -236,7 +240,8 @@ default: ret = -EINVAL; } - unpin_page(page); + if (ret < 0) + unpin_page(page); return ret; } Name: Asynchronous interface for futexes Author: Rusty Russell Status: Tested on 2.5.20 Depends: Futex/comment-fix.patch.gz Futex/copy-from-user.patch.gz Depends: Futex/no-write-needed.patch.gz Futex/unpin-page-fix.patch.gz Depends: Futex/waitq.patch.gz Futex/waker-unpin-page.patch.gz
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0206.0/1200.html   (581 words)

  
 gmane.comp.lib.phil
__wakeup_seq)); -#elif BYTE_ORDER == BIG_ENDIAN - int *futex = ((int *) (andcond->__data.
http://blog.gmane.org/gmane.comp.lib.phil   (4054 words)

  
 [robustmutexes] PATCH futex on fusyn (Was: RE: [RFC/PATCH] FUSYN Realtime & robust mutexes for Linux, v2.3.1)
Second patch, fusyn-2.3.1-01-futex-switch.patch implements a sysctl-based futex switch.
Copyright © 2004 Open Source Development Labs, Inc.; All rights reserved except where otherwise noted.
Echo 1 to /proc/sys/kernel/futex_uses_fusyn and new futexes will be based on fusyns.
http://lists.osdl.org/pipermail/robustmutexes/2004-August/000391.html   (488 words)

  
 Kernel Traffic #172 For 23 Jun 2002
Rusty felt that for network programming at least, the socket API was not the best model to copy (close by, Alan Cox said much the same thing); and Peter Wæchtler suggested /proc/futex instead, which he said would involve "Less adminstrative work, clean interface (also for shell scripts like Alan suggested).
And as a result, there has _never_ been any sysadmin problems with either.
They're NOT SysV semaphores, and they are done 99% in user space.
http://www.kerneltraffic.org/kernel-traffic/kt20020624_172_print.html   (3133 words)

  
 [No title]
On GNU/Linux the Linux kernel version > 2.6.x is required in addition to a having NPTL enabled glibc to make PThreads inter-process read/write locks, mutexes, and conditionals usable by SmTk.
------------ Dependences ------------ Platform: GNU/Linux: * Linux kernel version > 2.6.x with futex enabled http://en.wikipedia.org/wiki/Futex * glibc with NPTL enabled http://en.wikipedia.org/wiki/NPTL * GTK+ (GIMP Toolkit) - widget library GTK+ depends on many other packages (not all listed here).
We think that IRIX has a PThreads inter-process read/write locks, mutexes, and conditionals without a system call when there is no contended case.
http://smtk.sourceforge.net/README   (1075 words)

  
 [No title]
Name: Futex Update Author: Rusty Russell Status: Beta D: This changes futex semantics to a simple "sleep if this address D: equals this value" interface, which is more convenient for building D: other primitives.
This does not include the async interface (FUTEX_AWAIT) which we still don't agree on, but that's orthogonal.
http://codemonkey.org.uk/projects/patches/merged/2.5.12/dj1/futex-update.diff   (518 words)

  
 Native POSIX Thread Library - Wikipedia, the free encyclopedia
NPTL is a so-called 1×1 threads library, in that threads created by the user (via the pthread_create() library function) are in 1-1 correspondence with schedulable entities in the kernel (processes, in the Linux case).
However, NPTL requires specialized kernel support to implement (for example) the contended case of synchronisation primitives which might require threads to sleep and be re-awoken.
The primitive used for this is known as a futex.
http://en.wikipedia.org/wiki/Native_POSIX_Thread_Library   (579 words)

  
 About
FuTex Complete Accounting Software has been available for windowed environments since 1993.
This has helped to increase usability of the system.
We continually upgrade and change our applications to meet the needs of our clients.
http://www.futex.com/Index_files/page0001.htm   (83 words)

  
 SecuritySpace - CAN-2005-0937
Some futex functions in futex.c for Linux kernel 2.6.x perform get_user calls while holding the mmap_sem semaphore, which could allow local users to cause a deadlock condition in do_page_fault by triggering get_user faults while another thread is executing mmap or other functions.
Please email me a vulnerability test announcement whenever a new test is added.
Please email me your monthly newsletters, informing the latest services, improvements & surveys.
http://www.securityspace.com/smysecure/catid.html?ctype=cve&id=CAN-2005-0937   (68 words)

  
 Futex - Stock Market Trading Outside of London
In depth analyst support keeping you up to date with break ing news
At Futex we are committed to providing the best fully integrated Training Program for our new Graduates.
At Futex we are dedicated to delivering this opportunity to traders who would prefer to do their business outside of London.
http://www.futex.co.uk   (236 words)

  
 Bug 47 - The PTS 2-1.c in directory sem_timedwait can not work
In order to make the rtnptl with no rubust mutex runnable, we should also modify the lll_wq_timedwait macro.
So when robust mutex is disabled,the timeout can be changed to the relative timeout for futex implementation.
*/ int oldtype = __pthread_enable_asynccancel (); - err = lll_wq_timedwait (futex, 0, abstime); + err = lll_wq_timedwait (futex, 0, andrt); /* Disable asynchronous cancellation.
http://www.osdl.org/developer_bugzilla/show_bug.cgi?id=47   (695 words)

  
 dW forum message "child process hangs on futex_wait" RSS feed
Futex is called fast user space mutex which was implenment within glibc to make sure that same thread on]]>
http://www-128.ibm.com/developerworks/forums/dw_message_rss.jsp?thread=103808   (61 words)

  
 Index
FuTex Complete Accounting System is fully compatible with the Windows
System is a fully integrated Accounting System designed to meet all the rigorous Accounting Standards as set forth by the General Accounting Standards Board for Non-Profit Organizations.
FuTex continues to support operations on main frame platforms.
http://www.futex.com   (76 words)

  
 Futex - Traders
Futex will assess your market knowledge and experience.
Training may be available at these sites or may have to take place at the main office.
Should space not be available at our main office or you live near a regional office and would prefer to trade from one, then Futex may offer you alternative space at one of these sites.
http://www.futex.co.uk/account_exp_traders.htm   (203 words)

  
 Linux-Kernel Archive: [patch] futex requeueing feature, futex-r
glibc's use of futexes, and the imperfect coupling of the two locks.
(the patch adds a new futex syscall parameter (uaddr2), which is a
Reply: Rusty Russell: "Re: [patch] futex requeueing feature, futex-requeue-2.5.69-D3"
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.2/0475.html   (1052 words)

  
 NeoStats Software :: View topic - RedHat 9 and NeoStats
There are a ton of bugs in redhats database about futex problems, but it doesn't seem like anyone is looking at them.
Emails etc to the futex authors and ntpl authors go unanswered.
http://www.neostats.net/boards/viewtopic.php?t=391   (604 words)

  
 CSE 258: Modern Operating Systems --- University of Connecticut, Spring 2005
Anything that has to do with FUTEX is a system call, since it requires an access to the kernel data structures.
(2) futex_wake(val, num) Wake up at most num threads from the wait queue for the futex on val.
http://www.engr.uconn.edu/~piotr/classes/cse258/faq.html   (817 words)

  
 nntp.perl.org - perl.ithreads (920)
Each maintains an open socket with a client, a database connection, etc. I also use a very large amount of shared memory, to the point that most of the data structures used by the app are shared.
There will be better navigation features and such soon; be patient.
Newsgroups: perl.ithreads To: Subject: spinning on futexes Date: Wed, 18 May 2005 18:04:38 -0400 Message-ID: From: perl-ithreads[at]bluewallpaper.com ("Jack Steadman") I have a large threaded mailing application running about 30 very active threads.
http://www.nntp.perl.org/group/perl.ithreads/920   (224 words)

  
 SecurityTracker.com Archives - Linux Kernel Deadlock Error in futex Functions Let Local Users Deny Service
If a get_user() function fails while another thread is in mmap, then the do_page_fault() function will deadlock.
Description: A vulnerability was reported in the LInux kernel futex functions.
---- Some futex functions do get_user calls while holding mmap_sem for reading.
http://www.securitytracker.com/alerts/2005/Mar/1013616.html   (446 words)

  
 [PATCH] Futex Generalization Patch
On top of this, I have made pthreads locking primitives and futexes (marginally slower than the completely-in-kernel version, but not much).
From: Rusty Russell To: linux-kernel@vger.kernel.org Subject: [PATCH] Futex Generalization Patch Date: Thu, 04 Apr 2002 17:52:32 +1000 Cc: frankeh@watson.ibm.com, Peter =?iso-8859-1?q?W=E4chtler?= , Martin Wirth , drepper@redhat.com, matthew@hairy.beasts.org "This time for sure" I have a new primitive (thanks Paul Mackerras): sleep if the word at this address is equal to this value.
http://lwn.net/2002/0411/a/futex.php3   (372 words)

  
 [No title]
}; // auto "context" object inside wait() or extra pthread_t's fields struct cond_wait_context_t { pthread_cond_t* cv; pthread_mutex_t* mutex; int futex; }; cond_wait_cleanup_handler(cond_wait_context_t* ctx) { cond_wait_cleanup (ctx->cv, ctx->mutex, ctx->futex); } cond_wait_cleanup_handler2(cond_wait_context_t* ctx) { // cond_signal (ctx->cv);
http://terekhov.de/DESIGN-futex-CV-with-async.cancelable-wait.txt   (94 words)

  
 FrSIRT Advisories - Linux Kernel Futex Functions Local Denial Of Service Vulnerability / Exploit
A vulnerability has been identified in Microsoft Internet Explorer, which could be exploited by remote attackers to take complete control of an affected system.
The problem resides in the futex functions (kernel/futex.c) that invoke "get_user()" calls and hold mmap_sem for reading at the same time, which may cause a denial of service.
A new vulnerability was identified in Linux Kernel, which may be exploited by local users to conduct denial of dervice attacks.
http://www.frsirt.com/english/advisories/2005/0304   (266 words)

  
 [kaffe] SMP and pthreads
Hi, I have checked how the linux kernel handles futex and I see a potential problem.
The first thread has been interrupted during the syscall by the GC when the world has been suspended.
When kaffe deadlocks with GCTest it is always hang with one thread in a pthread_mutex_unlock calling the futex syscall and the GC thread in pthread_mutex_lock calling the futex syscall.
http://www.kaffe.org/pipermail/kaffe/2005-January/100995.html   (220 words)

  
 [No title]
* there is no thread in waitqueue on the futex.
----- The bug will appear if 2 pair of wait & wake called at (nearly)once: * Assume 4 threads, wait_A, wait_B, wake_X, and wake_Y * counters start from [total/wake/woken]=[0/0/0] * the val of futex starts from (0), update means inclement of the val.
Therefore, as the result, it seems that the WAKE wakes the WAIT.
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm5/broken-out/futex_wait-fix.patch   (382 words)

  
 Forums - Futex - Legit ?
Though I should think it would cost less than a Central London office as Weybridge is residential.
It isnt so much the lack of being paid as it is assessing the upside vs the downside.
Trading outside of London is a good idea as it saves on cost, but why Weybridge?
http://www.elitetrader.com/vb/printthread.php?threadid=44538   (1779 words)

  
 The Walrus, the Carpenter and Tu Wong Futex
1998 was also a busy year for the Oracle who at that time went by the name of "The Carpenter, The Walrus and Tu Wong Futex".
Jesus may just have been a Carpenter, but Pontius was a Pilot AND a Taxman...a true visionary and Renaissance man.
The story of how we came by the following message is strange.
http://www.mancuniancandidate.com/tuwongfutex.html   (1989 words)

  
 Linux Kernel Futex Local Deadlock Denial Of Service Vulnerability
The discoverer of this issue is not known.
Linux Kernel Futex Local Deadlock Denial Of Service Vulnerability
http://www.securityfocus.com/bid/12959?ref=rss   (34 words)

  
 Java Memory Model mailing list archive: RE: JavaMemoryModel: Sp
(a futex-emu beast can steal signals but futex-
http://www.cs.umd.edu/~pugh/java/memoryModel/archive/1511.html   (450 words)

Compwisdom
 About us   |  Why use us?   |  Press   |  Contact us

 Copyright © 2006 CompWisdom.com Usage implies agreement with terms.