X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fum%2Fkernel%2Fsmp.c;h=e916391383cb16aea579cdaa83ce2d0c3de20c75;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=b5e66b291cc32f1baa23eb29d26821258e5665c0;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/um/kernel/smp.c b/arch/um/kernel/smp.c index b5e66b291..e91639138 100644 --- 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())); } -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); @@ -247,10 +247,8 @@ int smp_call_function(void (*_func)(void *info), void *_info, int nonatomic, func = _func; info = _info; - for (i=0;icpu) && - 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();