sh: Fix up redundant cache flushing for PAGE_SIZE > 4k.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 9 Sep 2009 08:13:07 +0000 (17:13 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 9 Sep 2009 08:13:07 +0000 (17:13 +0900)
If PAGE_SIZE is presently over 4k we do a lot of extra flushing given
that we purge the cache 4k at a time. Make it explicitly 4k per
iteration, rather than iterating for PAGE_SIZE before looping over again.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/mm/cache-sh4.c

index e3fbd99..8362d31 100644 (file)
@@ -357,7 +357,7 @@ static void __flush_cache_4096(unsigned long addr, unsigned long phys,
         * pointless nead-of-loop check for 0 iterations.
         */
        do {
-               ea = base_addr + PAGE_SIZE;
+               ea = base_addr + 4096;
                a = base_addr;
                p = phys;