x86: Convert tlbstate_lock to raw_spinlock
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
@@ -41,7 +41,7 @@ union smp_flush_state {
|
|||||||
struct {
|
struct {
|
||||||
struct mm_struct *flush_mm;
|
struct mm_struct *flush_mm;
|
||||||
unsigned long flush_va;
|
unsigned long flush_va;
|
||||||
spinlock_t tlbstate_lock;
|
raw_spinlock_t tlbstate_lock;
|
||||||
DECLARE_BITMAP(flush_cpumask, NR_CPUS);
|
DECLARE_BITMAP(flush_cpumask, NR_CPUS);
|
||||||
};
|
};
|
||||||
char pad[INTERNODE_CACHE_BYTES];
|
char pad[INTERNODE_CACHE_BYTES];
|
||||||
@@ -181,7 +181,7 @@ static void flush_tlb_others_ipi(const struct cpumask *cpumask,
|
|||||||
* num_online_cpus() <= NUM_INVALIDATE_TLB_VECTORS, but it is
|
* num_online_cpus() <= NUM_INVALIDATE_TLB_VECTORS, but it is
|
||||||
* probably not worth checking this for a cache-hot lock.
|
* probably not worth checking this for a cache-hot lock.
|
||||||
*/
|
*/
|
||||||
spin_lock(&f->tlbstate_lock);
|
raw_spin_lock(&f->tlbstate_lock);
|
||||||
|
|
||||||
f->flush_mm = mm;
|
f->flush_mm = mm;
|
||||||
f->flush_va = va;
|
f->flush_va = va;
|
||||||
@@ -199,7 +199,7 @@ static void flush_tlb_others_ipi(const struct cpumask *cpumask,
|
|||||||
|
|
||||||
f->flush_mm = NULL;
|
f->flush_mm = NULL;
|
||||||
f->flush_va = 0;
|
f->flush_va = 0;
|
||||||
spin_unlock(&f->tlbstate_lock);
|
raw_spin_unlock(&f->tlbstate_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void native_flush_tlb_others(const struct cpumask *cpumask,
|
void native_flush_tlb_others(const struct cpumask *cpumask,
|
||||||
@@ -223,7 +223,7 @@ static int __cpuinit init_smp_flush(void)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(flush_state); i++)
|
for (i = 0; i < ARRAY_SIZE(flush_state); i++)
|
||||||
spin_lock_init(&flush_state[i].tlbstate_lock);
|
raw_spin_lock_init(&flush_state[i].tlbstate_lock);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user