Skip to content

Commit

Permalink
stopmachine: semaphore to mutex
Browse files Browse the repository at this point in the history
[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>
  • Loading branch information
Daniel Walker authored and Linus Torvalds committed Feb 6, 2008
1 parent bcf11cb commit 6c6080f
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions kernel/stop_machine.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -170,14 +169,15 @@ 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;

smdata.fn = fn;
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)
Expand All @@ -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;
}

Expand Down

0 comments on commit 6c6080f

Please sign in to comment.