[<prev] [next>] [day] [month] [year] [list]
Message-ID: <352345.60081.qm@web52003.mail.re2.yahoo.com>
Date: Sun, 4 May 2008 00:32:02 -0700 (PDT)
From: Matti Linnanvuori <mattilinnanvuori@...oo.com>
To: bugme-daemon@...nel-bugs.osdl.org
Cc: linux-kernel@...r.kernel.org
Subject: [patch] doc: add a chapter about trylock functions [Bug 9011]
From: Matti Linnanvuori <mattilinnanvuori@...oo.com>
Add a chapter about trylock functions.
http://bugzilla.kernel.org/show_bug.cgi?id=9011
Signed-off-by: Matti Linnanvuori <mattilinnanvuori@...oo.com>
---
---
linux-2.6/Documentation/DocBook/kernel-locking.tmpl 2008-05-04
09:22:20.782075500 +0300
+++
linux/Documentation/DocBook/kernel-locking.tmpl 2008-05-04 10:13:16.168549500
+0300
@@ -702,6 +702,38
@@
</sect1>
</chapter>
+<chapter
id="trylock-functions">
+ <title>The trylock
Functions</title>
+ <para>
+ There are functions that try
to acquire a lock only once and immediately
+ return a value telling about
success or failure to acquire the lock.
+ They can be used if you need no
access to the data protected with the lock
+ when some other thread is
holding the lock. You should acquire the lock
+ later if you then need
access to the data protected with the lock.
+ </para>
+
+
<para>
+ <function>spin_trylock()</function> does not
spin but returns non-zero if
+ it acquires the spinlock on the first try
or 0 if not. This function can
+ be used in all contexts like
<function>spin_lock</function>: you must have
+ disabled the
contexts that might interrupt you and acquire the spin lock.
+
</para>
+
+ <para>
+
<function>mutex_trylock()</function> does not suspend your
task
+ but returns non-zero if it could lock the mutex on the first
try
+ or 0 if not. This function cannot be safely used in hardware or
software
+ interrupt contexts despite not sleeping.
+
</para>
+
+ <para>
+
<function>down_trylock()</function> does not suspend your
task
+ but returns 0 if it could get the semaphore on the first try
or
+ non-zero if not. The return value is the inverse of that of
+
<function>spin_trylock()</function> and
<function>mutex_trylock()
+ </function>.
<function>down_trylock</function> can be used in all contexts.
+
</para>
+</chapter>
<chapter
id="Examples">
<title>Common
Examples</title>
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists