[PATCH] Convert kernel/cpu.c to mutexes
Ingo Molnar [Mon, 26 Jun 2006 07:24:32 +0000 (00:24 -0700)]
Convert kernel/cpu.c from semaphore to mutex.

I've reviewed all lock_cpu_hotplug() critical sections, and they all seem to
fit mutex semantics.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

kernel/cpu.c

index fe2b8d0..03dcd98 100644 (file)
 #include <linux/module.h>
 #include <linux/kthread.h>
 #include <linux/stop_machine.h>
-#include <asm/semaphore.h>
+#include <linux/mutex.h>
 
 /* This protects CPUs going up and down... */
-static DECLARE_MUTEX(cpucontrol);
+static DEFINE_MUTEX(cpucontrol);
 
 static BLOCKING_NOTIFIER_HEAD(cpu_chain);
 
@@ -30,9 +30,9 @@ static int __lock_cpu_hotplug(int interruptible)
 
        if (lock_cpu_hotplug_owner != current) {
                if (interruptible)
-                       ret = down_interruptible(&cpucontrol);
+                       ret = mutex_lock_interruptible(&cpucontrol);
                else
-                       down(&cpucontrol);
+                       mutex_lock(&cpucontrol);
        }
 
        /*
@@ -56,7 +56,7 @@ void unlock_cpu_hotplug(void)
 {
        if (--lock_cpu_hotplug_depth == 0) {
                lock_cpu_hotplug_owner = NULL;
-               up(&cpucontrol);
+               mutex_unlock(&cpucontrol);
        }
 }
 EXPORT_SYMBOL_GPL(unlock_cpu_hotplug);