Selaa lähdekoodia

sh: Fix up redundant cache flushing for PAGE_SIZE > 4k.

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>
Paul Mundt 15 vuotta sitten
vanhempi
commit
c4845a4b22
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  1. 1 1
      arch/sh/mm/cache-sh4.c

+ 1 - 1
arch/sh/mm/cache-sh4.c

@@ -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;