Commit:     1373bed34e30b8632aaf43aa85d72329c83f7077
Parent:     13f14b4d8be225cbb11ff2be7c048590a9ccf87b
Author:     Daniel Walker <[EMAIL PROTECTED]>
AuthorDate: Wed Feb 6 01:37:58 2008 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Wed Feb 6 10:41:09 2008 -0800

    docs: convert kref semaphore to mutex
    Just converting this documentation semaphore reference, since we don't
    want to promote semaphore usage.
    Signed-off-by: Daniel Walker <[EMAIL PROTECTED]>
    Acked-by: Corey Minyard <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 Documentation/kref.txt |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/Documentation/kref.txt b/Documentation/kref.txt
index f38b59d..130b6e8 100644
--- a/Documentation/kref.txt
+++ b/Documentation/kref.txt
@@ -141,10 +141,10 @@ The last rule (rule 3) is the nastiest one to handle.  
Say, for
 instance, you have a list of items that are each kref-ed, and you wish
 to get the first one.  You can't just pull the first item off the list
 and kref_get() it.  That violates rule 3 because you are not already
-holding a valid pointer.  You must add locks or semaphores.  For
+holding a valid pointer.  You must add a mutex (or some other lock).
+For instance:
-static DECLARE_MUTEX(sem);
+static DEFINE_MUTEX(mutex);
 static LIST_HEAD(q);
 struct my_data
@@ -155,12 +155,12 @@ struct my_data
 static struct my_data *get_entry()
        struct my_data *entry = NULL;
-       down(&sem);
+       mutex_lock(&mutex);
        if (!list_empty(&q)) {
                entry = container_of(, struct my_q_entry, link);
-       up(&sem);
+       mutex_unlock(&mutex);
        return entry;
@@ -174,9 +174,9 @@ static void release_entry(struct kref *ref)
 static void put_entry(struct my_data *entry)
-       down(&sem);
+       mutex_lock(&mutex);
        kref_put(&entry->refcount, release_entry);
-       up(&sem);
+       mutex_unlock(&mutex);
 The kref_put() return value is useful if you do not want to hold the
@@ -191,13 +191,13 @@ static void release_entry(struct kref *ref)
 static void put_entry(struct my_data *entry)
-       down(&sem);
+       mutex_lock(&mutex);
        if (kref_put(&entry->refcount, release_entry)) {
-               up(&sem);
+               mutex_unlock(&mutex);
        } else
-               up(&sem);
+               mutex_unlock(&mutex);
 This is really more useful if you have to call other routines as part
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to