Skip to contentSkip to conversation

include/linux/mutex.h: unclear reference to convention

PATCH In review Matti Linnanvuori 2 participants 2 messages Sep 22, 2007 Locking primitives

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 include/linux/mutex.h: unclear reference to convention

From: Matti Linnanvuori <[email protected]>

Reference to two different conventions is unnecessarily unclear unless you know them already and requires seeking and reading another file for understanding.

---

include/linux/mutex.h 2007-09-22 11:11:19.416761000 +0300 renamed from include/linux/mutex.h 2007-09-22 11:09:42.223763000 +0300 +13 -3
@@ -132,9 +132,19 @@ extern int __must_check mutex_lock_inter
 # define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock)
 #endif
 
-/*
- * NOTE: mutex_trylock() follows the spin_trylock() convention,
- *       not the down_trylock() convention!
+/***
+ * mutex_trylock - try acquire the mutex, without waiting
+ * @lock: the mutex to be acquired
+ *
+ * Try to acquire the mutex atomically. Returns 1 if the mutex
+ * has been acquired successfully, and 0 on contention.
+ *
+ * NOTE: this function follows the spin_trylock() convention, so
+ * it is negated to the down_trylock() return values! Be careful
+ * about this when converting semaphore users to mutexes.
+ *
+ * This function must not be used in interrupt context. The
+ * mutex must be released by the same task that acquired it.
  */
 extern int fastcall mutex_trylock(struct mutex *lock);
 extern void fastcall mutex_unlock(struct mutex *lock);
      ________ 

Yahoo! Clever: Stellen Sie Fragen und finden Sie Antworten. Teilen Sie Ihr Wissen. www.yahoo.de/clever

#1 lore raw
Quoted 3 lines · On Sat, 22 Sep 2007 01:41:17 -0700 (PDT) Matti Linnanvuori wrote:

From: Matti Linnanvuori <[email protected]>

Reference to two different conventions is unnecessarily unclear unless you know them already and requires seeking and reading another file for understanding.

Could you hit the Return/Enter key about every 70-72 characters or so, to break up those long lines?
Thanks.

include/linux/mutex.h 2007-09-22 11:11:19.416761000 +0300 extern int __must_check mutex_lock_inter · line 137

Quoted 12 lines

---

include/linux/mutex.h 2007-09-22 11:11:19.416761000 +0300 renamed from include/linux/mutex.h 2007-09-22 11:09:42.223763000 +0300 +0 -3
@@ -132,9 +132,19 @@ extern int __must_check mutex_lock_inter
 # define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock)
 #endif
 
-/*
- * NOTE: mutex_trylock() follows the spin_trylock() convention,
- *       not the down_trylock() convention!

Someone was trying to be helpful in include/linux/mutex.h. The real doc for the function is in kernel/mutex.c (and pasted below).

Another convention is that we put kernel-doc with the implementation (i.e., in .c files) when possible, not with the function prototype. Of course, for inline functions or macros in header files, that's where the kernel-doc has to live.

so we don't need this patch.

Quoted 6 lines
include/linux/mutex.h 2007-09-22 11:11:19.416761000 +0300 renamed from include/linux/mutex.h 2007-09-22 11:09:42.223763000 +0300 +6 -0
+/***
+ * mutex_trylock - try acquire the mutex, without waiting
+ * @lock: the mutex to be acquired
+ *
+ * Try to acquire the mutex atomically. Returns 1 if the mutex
+ * has been acquired successfully, and 0 on contention.

include/linux/mutex.h 2007-09-22 11:11:19.416761000 +0300 extern int __must_check mutex_lock_inter · line 150

Quoted 10 lines
include/linux/mutex.h 2007-09-22 11:11:19.416761000 +0300 renamed from include/linux/mutex.h 2007-09-22 11:09:42.223763000 +0300 +7 -0
+ *
+ * NOTE: this function follows the spin_trylock() convention, so
+ * it is negated to the down_trylock() return values! Be careful
+ * about this when converting semaphore users to mutexes.
+ *
+ * This function must not be used in interrupt context. The
+ * mutex must be released by the same task that acquired it.
  */
 extern int fastcall mutex_trylock(struct mutex *lock);
 extern void fastcall mutex_unlock(struct mutex *lock);

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***