Browse Source

[ARM SMP] Do not clear cpu_vm_mask for VIPT caches

Since we do not invalidate TLBs/caches on MM switches, we should not
clear the cpu_vm_mask for the CPU.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King 19 years ago
parent
commit
7e5e6e9a50
1 changed files with 2 additions and 1 deletions
  1. 2 1
      include/asm-arm/mmu_context.h

+ 2 - 1
include/asm-arm/mmu_context.h

@@ -86,7 +86,8 @@ switch_mm(struct mm_struct *prev, struct mm_struct *next,
 		cpu_set(cpu, next->cpu_vm_mask);
 		check_context(next);
 		cpu_switch_mm(next->pgd, next);
-		cpu_clear(cpu, prev->cpu_vm_mask);
+		if (cache_is_vivt())
+			cpu_clear(cpu, prev->cpu_vm_mask);
 	}
 }