Эх сурвалжийг харах

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 жил өмнө
parent
commit
c4845a4b22

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