Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 96787
b: refs/heads/master
c: 85cb185
h: refs/heads/master
i:
  96785: cb1e48a
  96783: 805f643
v: v3
  • Loading branch information
Heiko Carstens authored and Martin Schwidefsky committed May 15, 2008
1 parent 9a4b2e7 commit 894cf3c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f455adcff102851629d716815f92bb7010de0c4e
refs/heads/master: 85cb185dad54be308c3f3a6068dd7d418b8b53e4
16 changes: 8 additions & 8 deletions trunk/arch/s390/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,6 @@ static void __smp_call_function_map(void (*func) (void *info), void *info,
if (wait)
data.finished = CPU_MASK_NONE;

spin_lock(&call_lock);
call_data = &data;

for_each_cpu_mask(cpu, map)
Expand All @@ -151,7 +150,6 @@ static void __smp_call_function_map(void (*func) (void *info), void *info,
if (wait)
while (!cpus_equal(map, data.finished))
cpu_relax();
spin_unlock(&call_lock);
out:
if (local) {
local_irq_disable();
Expand All @@ -177,11 +175,11 @@ int smp_call_function(void (*func) (void *info), void *info, int nonatomic,
{
cpumask_t map;

preempt_disable();
spin_lock(&call_lock);
map = cpu_online_map;
cpu_clear(smp_processor_id(), map);
__smp_call_function_map(func, info, nonatomic, wait, map);
preempt_enable();
spin_unlock(&call_lock);
return 0;
}
EXPORT_SYMBOL(smp_call_function);
Expand All @@ -202,10 +200,10 @@ EXPORT_SYMBOL(smp_call_function);
int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
int nonatomic, int wait)
{
preempt_disable();
spin_lock(&call_lock);
__smp_call_function_map(func, info, nonatomic, wait,
cpumask_of_cpu(cpu));
preempt_enable();
spin_unlock(&call_lock);
return 0;
}
EXPORT_SYMBOL(smp_call_function_single);
Expand All @@ -228,10 +226,10 @@ EXPORT_SYMBOL(smp_call_function_single);
int smp_call_function_mask(cpumask_t mask, void (*func)(void *), void *info,
int wait)
{
preempt_disable();
spin_lock(&call_lock);
cpu_clear(smp_processor_id(), mask);
__smp_call_function_map(func, info, 0, wait, mask);
preempt_enable();
spin_unlock(&call_lock);
return 0;
}
EXPORT_SYMBOL(smp_call_function_mask);
Expand Down Expand Up @@ -592,7 +590,9 @@ int __cpuinit start_secondary(void *cpuvoid)
pfault_init();

/* Mark this cpu as online */
spin_lock(&call_lock);
cpu_set(smp_processor_id(), cpu_online_map);
spin_unlock(&call_lock);
/* Switch on interrupts */
local_irq_enable();
/* Print info about this processor */
Expand Down

0 comments on commit 894cf3c

Please sign in to comment.