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
/
ia64
/
kernel
/
smp.c
diff --git
a/arch/ia64/kernel/smp.c
b/arch/ia64/kernel/smp.c
index
99f0088
..
4149a0d
100644
(file)
--- a/
arch/ia64/kernel/smp.c
+++ b/
arch/ia64/kernel/smp.c
@@
-29,9
+29,9
@@
#include <linux/cache.h>
#include <linux/delay.h>
#include <linux/efi.h>
#include <linux/cache.h>
#include <linux/delay.h>
#include <linux/efi.h>
+#include <linux/bitops.h>
#include <asm/atomic.h>
#include <asm/atomic.h>
-#include <asm/bitops.h>
#include <asm/current.h>
#include <asm/delay.h>
#include <asm/machvec.h>
#include <asm/current.h>
#include <asm/delay.h>
#include <asm/machvec.h>
@@
-52,7
+52,7
@@
* Structure and data for smp_call_function(). This is designed to minimise static memory
* requirements. It also looks cleaner.
*/
* Structure and data for smp_call_function(). This is designed to minimise static memory
* requirements. It also looks cleaner.
*/
-static
spinlock_t call_lock __cacheline_aligned = SPIN_LOCK_UNLOCKED
;
+static
__cacheline_aligned DEFINE_SPINLOCK(call_lock)
;
struct call_data_struct {
void (*func) (void *info);
struct call_data_struct {
void (*func) (void *info);
@@
-225,7
+225,7
@@
smp_send_reschedule (int cpu)
void
smp_flush_tlb_all (void)
{
void
smp_flush_tlb_all (void)
{
- on_each_cpu((void (*)(void *))local_flush_tlb_all,
0
, 1, 1);
+ on_each_cpu((void (*)(void *))local_flush_tlb_all,
NULL
, 1, 1);
}
EXPORT_SYMBOL(smp_flush_tlb_all);
}
EXPORT_SYMBOL(smp_flush_tlb_all);
@@
-290,11
+290,11
@@
smp_call_function_single (int cpuid, void (*func) (void *info), void *info, int
/* Wait for response */
while (atomic_read(&data.started) != cpus)
/* Wait for response */
while (atomic_read(&data.started) != cpus)
-
barrier
();
+
cpu_relax
();
if (wait)
while (atomic_read(&data.finished) != cpus)
if (wait)
while (atomic_read(&data.finished) != cpus)
-
barrier
();
+
cpu_relax
();
call_data = NULL;
spin_unlock_bh(&call_lock);
call_data = NULL;
spin_unlock_bh(&call_lock);
@@
-349,11
+349,11
@@
smp_call_function (void (*func) (void *info), void *info, int nonatomic, int wai
/* Wait for response */
while (atomic_read(&data.started) != cpus)
/* Wait for response */
while (atomic_read(&data.started) != cpus)
-
barrier
();
+
cpu_relax
();
if (wait)
while (atomic_read(&data.finished) != cpus)
if (wait)
while (atomic_read(&data.finished) != cpus)
-
barrier
();
+
cpu_relax
();
call_data = NULL;
spin_unlock(&call_lock);
call_data = NULL;
spin_unlock(&call_lock);