diff options
| author | Kirill Tkhai <tkhai@yandex.ru> | 2014-04-16 16:45:24 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-05-02 01:15:16 -0400 |
| commit | 49b6c01f4c1de3b5e5427ac5aba80f9f6d27837a (patch) | |
| tree | 5c4a5823c94b6bc48b94edb56d673be33f849a22 | |
| parent | aa3449ee9c87d9b7660dd1493248abcc57769e31 (diff) | |
sparc64: Make itc_sync_lock raw
One more place where we must not be able
to be preempted or to be interrupted in RT.
Always actually disable interrupts during
synchronization cycle.
Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | arch/sparc/kernel/smp_64.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index 9781048161ab..745a3633ce14 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
| @@ -149,7 +149,7 @@ void cpu_panic(void) | |||
| 149 | #define NUM_ROUNDS 64 /* magic value */ | 149 | #define NUM_ROUNDS 64 /* magic value */ |
| 150 | #define NUM_ITERS 5 /* likewise */ | 150 | #define NUM_ITERS 5 /* likewise */ |
| 151 | 151 | ||
| 152 | static DEFINE_SPINLOCK(itc_sync_lock); | 152 | static DEFINE_RAW_SPINLOCK(itc_sync_lock); |
| 153 | static unsigned long go[SLAVE + 1]; | 153 | static unsigned long go[SLAVE + 1]; |
| 154 | 154 | ||
| 155 | #define DEBUG_TICK_SYNC 0 | 155 | #define DEBUG_TICK_SYNC 0 |
| @@ -257,7 +257,7 @@ static void smp_synchronize_one_tick(int cpu) | |||
| 257 | go[MASTER] = 0; | 257 | go[MASTER] = 0; |
| 258 | membar_safe("#StoreLoad"); | 258 | membar_safe("#StoreLoad"); |
| 259 | 259 | ||
| 260 | spin_lock_irqsave(&itc_sync_lock, flags); | 260 | raw_spin_lock_irqsave(&itc_sync_lock, flags); |
| 261 | { | 261 | { |
| 262 | for (i = 0; i < NUM_ROUNDS*NUM_ITERS; i++) { | 262 | for (i = 0; i < NUM_ROUNDS*NUM_ITERS; i++) { |
| 263 | while (!go[MASTER]) | 263 | while (!go[MASTER]) |
| @@ -268,7 +268,7 @@ static void smp_synchronize_one_tick(int cpu) | |||
| 268 | membar_safe("#StoreLoad"); | 268 | membar_safe("#StoreLoad"); |
| 269 | } | 269 | } |
| 270 | } | 270 | } |
| 271 | spin_unlock_irqrestore(&itc_sync_lock, flags); | 271 | raw_spin_unlock_irqrestore(&itc_sync_lock, flags); |
| 272 | } | 272 | } |
| 273 | 273 | ||
| 274 | #if defined(CONFIG_SUN_LDOMS) && defined(CONFIG_HOTPLUG_CPU) | 274 | #if defined(CONFIG_SUN_LDOMS) && defined(CONFIG_HOTPLUG_CPU) |
