linux-cvs-patches
[Top] [All Lists]

CVS Update@linux-mips.org: linux

To: linux-cvs-patches@linux-mips.org
Subject: CVS Update@linux-mips.org: linux
From: ralf@linux-mips.org
Date: Thu, 10 Feb 2005 13:54:43 +0000
Reply-to: linux-mips@linux-mips.org
Sender: linux-cvs-patches-bounce@linux-mips.org
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;
 

<Prev in Thread] Current Thread [Next in Thread>