[patch] doc: add a chapter about trylock functions [Bug 9011]

From: Matti Linnanvuori
Date: Sun May 04 2008 - 03:32:18 EST


From: Matti Linnanvuori <mattilinnanvuori@xxxxxxxxx>

Add a chapter about trylock functions.
http://bugzilla.kernel.org/show_bug.cgi?id=9011

Signed-off-by: Matti Linnanvuori <mattilinnanvuori@xxxxxxxxx>

---

---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/