CVSROOT: /home/cvs
Module name: linux
Changes by: ralf@ftp.linux-mips.org 05/02/10 13:54:37
Modified files:
arch/mips/mm : c-r4k.c
Log message:
Moves a test which determines if we actually need to perform a
cacheflush to the right place. That's a bug which is harmless on UP
but a severe bug on SMP.
diff -urN linux/arch/mips/mm/c-r4k.c linux/arch/mips/mm/c-r4k.c
--- linux/arch/mips/mm/c-r4k.c 2005/02/10 12:19:59 1.102
+++ linux/arch/mips/mm/c-r4k.c 2005/02/10 13:54:37 1.103
@@ -376,6 +376,13 @@
pmd_t *pmdp;
pte_t *ptep;
+ /*
+ * If ownes no valid ASID yet, cannot possibly have gotten
+ * this page into the cache.
+ */
+ if (cpu_context(smp_processor_id(), vma->vm_mm) == 0)
+ return;
+
page &= PAGE_MASK;
pgdp = pgd_offset(mm, page);
pudp = pud_offset(pgdp, page);
@@ -433,13 +440,6 @@
{
struct flush_cache_page_args args;
- /*
- * If ownes no valid ASID yet, cannot possibly have gotten
- * this page into the cache.
- */
- if (cpu_context(smp_processor_id(), vma->vm_mm) == 0)
- return;
-
args.vma = vma;
args.page = page;
|