mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] docbook: some kernel-locking fixes
@ 2008-04-02 21:47 Randy Dunlap
  2008-04-03 23:39 ` Rusty Russell
  0 siblings, 1 reply; 2+ messages in thread
From: Randy Dunlap @ 2008-04-02 21:47 UTC (permalink / raw)
  To: lkml; +Cc: rusty, akpm, mattilinnanvuori

From: Matti Linnanvuori <mattilinnanvuori@yahoo.com>

Fix a wrong path. Add a chapter about try functions.

http://bugzilla.kernel.org/show_bug.cgi?id=9011

Signed-off-by: Matti Linnanvuori <mattilinnanvuori@yahoo.com>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>

---
 Documentation/DocBook/kernel-locking.tmpl |   25 +++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

--- lin2625-rc8-kdoc.orig/Documentation/DocBook/kernel-locking.tmpl
+++ lin2625-rc8-kdoc/Documentation/DocBook/kernel-locking.tmpl
@@ -290,7 +290,7 @@
      <para>
        If you have a data structure which is only ever accessed from
        user context, then you can use a simple semaphore
-       (<filename>linux/asm/semaphore.h</filename>) to protect it.  This 
+       (<filename>include/asm/semaphore.h</filename>) to protect it.  This
        is the most trivial case: you initialize the semaphore to the number 
        of resources available (usually 1), and call
        <function>down_interruptible()</function> to grab the semaphore, and 
@@ -703,6 +703,29 @@
 </sect1>
 </chapter>
 
+<chapter id="try-variants">
+ <title>The try variants</title>
+
+  <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.
+  </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.
+  </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>.
+  </para>
+</chapter>
+
   <chapter id="Examples">
    <title>Common Examples</title>
     <para>


---

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] docbook: some kernel-locking fixes
  2008-04-02 21:47 [PATCH] docbook: some kernel-locking fixes Randy Dunlap
@ 2008-04-03 23:39 ` Rusty Russell
  0 siblings, 0 replies; 2+ messages in thread
From: Rusty Russell @ 2008-04-03 23:39 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: lkml, akpm, mattilinnanvuori

On Thursday 03 April 2008 07:47:50 Randy Dunlap wrote:
> From: Matti Linnanvuori <mattilinnanvuori@yahoo.com>
> +<chapter id="try-variants">
> + <title>The try variants</title>
> +
> +  <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.
> +  </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.
> +  </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>.
> +  </para>
> +</chapter>

OK, other than documenting the inconsistent horror of down_trylock, I don't 
like this patch.  This document is not about documenting the functions, but 
providing an overview and pointing to them (where you can read to your 
heart's content).

This is a worthy addition, but it's a paragraph, not a chapter.  Unless you 
want to document why you would use the trylock variants (can mutex_trylock 
and down_trylock be used from interrupt context?  Or are they only useful to 
avoid deadlock?  How are they actually used in the kernel?)

Thanks,
Rusty.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-04-03 23:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-02 21:47 [PATCH] docbook: some kernel-locking fixes Randy Dunlap
2008-04-03 23:39 ` Rusty Russell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome