From: Daniel Walker Date: Wed, 6 Feb 2008 09:37:41 +0000 (-0800) Subject: stopmachine: semaphore to mutex X-Git-Tag: v2.6.25-rc1~686 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=6c6080f74c8d83a83a1e36bce803de15c0633898;p=linux-2.6-omap-h63xx.git stopmachine: semaphore to mutex [akpm@linux-foundation.org: cleanup] Signed-off-by: Daniel Walker Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c index 51b5ee53571..6f4e0e13f70 100644 --- a/kernel/stop_machine.c +++ b/kernel/stop_machine.c @@ -29,7 +29,6 @@ enum stopmachine_state { static enum stopmachine_state stopmachine_state; static unsigned int stopmachine_num_threads; static atomic_t stopmachine_thread_ack; -static DECLARE_MUTEX(stopmachine_mutex); static int stopmachine(void *cpu) { @@ -170,6 +169,7 @@ static int do_stop(void *_smdata) struct task_struct *__stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu) { + static DEFINE_MUTEX(stopmachine_mutex); struct stop_machine_data smdata; struct task_struct *p; @@ -177,7 +177,7 @@ struct task_struct *__stop_machine_run(int (*fn)(void *), void *data, smdata.data = data; init_completion(&smdata.done); - down(&stopmachine_mutex); + mutex_lock(&stopmachine_mutex); /* If they don't care which CPU fn runs on, bind to any online one. */ if (cpu == NR_CPUS) @@ -193,7 +193,7 @@ struct task_struct *__stop_machine_run(int (*fn)(void *), void *data, wake_up_process(p); wait_for_completion(&smdata.done); } - up(&stopmachine_mutex); + mutex_unlock(&stopmachine_mutex); return p; }