git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
um
/
kernel
/
smp.c
diff --git
a/arch/um/kernel/smp.c
b/arch/um/kernel/smp.c
index
b5e66b2
..
e916391
100644
(file)
--- a/
arch/um/kernel/smp.c
+++ b/
arch/um/kernel/smp.c
@@
-216,7
+216,7
@@
int hard_smp_processor_id(void)
return(pid_to_processor_id(os_getpid()));
}
return(pid_to_processor_id(os_getpid()));
}
-static
spinlock_t call_lock = SPIN_LOCK_UNLOCKED
;
+static
DEFINE_SPINLOCK(call_lock)
;
static atomic_t scf_started;
static atomic_t scf_finished;
static void (*func)(void *info);
static atomic_t scf_started;
static atomic_t scf_finished;
static void (*func)(void *info);
@@
-247,10
+247,8
@@
int smp_call_function(void (*_func)(void *info), void *_info, int nonatomic,
func = _func;
info = _info;
func = _func;
info = _info;
- for (i=0;i<NR_CPUS;i++)
- if((i != current_thread->cpu) &&
- cpu_isset(i, cpu_online_map))
- os_write_file(cpu_data[i].ipi_pipe[1], "C", 1);
+ for_each_online_cpu(i)
+ os_write_file(cpu_data[i].ipi_pipe[1], "C", 1);
while (atomic_read(&scf_started) != cpus)
barrier();
while (atomic_read(&scf_started) != cpus)
barrier();