mirror of https://gitee.com/openkylin/linux.git
[PATCH] Convert kernel/cpu.c to mutexes
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>
This commit is contained in:
parent
1fb00c6cbd
commit
81615b624a
10
kernel/cpu.c
10
kernel/cpu.c
|
@ -13,10 +13,10 @@
|
|||
#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);
|
||||
|
|
Loading…
Reference in New Issue