stopmachine: semaphore to mutex

[akpm@linux-foundation.org: cleanup]
Signed-off-by: Daniel Walker <dwalker@mvista.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Daniel Walker 2008-02-06 01:37:41 -08:00 committed by Linus Torvalds
parent bcf11cbecc
commit 6c6080f74c

View File

@ -29,7 +29,6 @@ enum stopmachine_state {
static enum stopmachine_state stopmachine_state; static enum stopmachine_state stopmachine_state;
static unsigned int stopmachine_num_threads; static unsigned int stopmachine_num_threads;
static atomic_t stopmachine_thread_ack; static atomic_t stopmachine_thread_ack;
static DECLARE_MUTEX(stopmachine_mutex);
static int stopmachine(void *cpu) 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, struct task_struct *__stop_machine_run(int (*fn)(void *), void *data,
unsigned int cpu) unsigned int cpu)
{ {
static DEFINE_MUTEX(stopmachine_mutex);
struct stop_machine_data smdata; struct stop_machine_data smdata;
struct task_struct *p; struct task_struct *p;
@ -177,7 +177,7 @@ struct task_struct *__stop_machine_run(int (*fn)(void *), void *data,
smdata.data = data; smdata.data = data;
init_completion(&smdata.done); 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 they don't care which CPU fn runs on, bind to any online one. */
if (cpu == NR_CPUS) if (cpu == NR_CPUS)
@ -193,7 +193,7 @@ struct task_struct *__stop_machine_run(int (*fn)(void *), void *data,
wake_up_process(p); wake_up_process(p);
wait_for_completion(&smdata.done); wait_for_completion(&smdata.done);
} }
up(&stopmachine_mutex); mutex_unlock(&stopmachine_mutex);
return p; return p;
} }