parisc: Optimize flush_kernel_vmap_range and invalidate_kernel_vmap_range
authorJohn David Anglin <dave.anglin@bell.net>
Sat, 11 Mar 2017 23:03:34 +0000 (18:03 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 26 Mar 2017 11:05:57 +0000 (13:05 +0200)
commita690a42ae7b90ceb761816fb33ee39058962d58e
treeaf7bd0ed1d8d198798cd94628b455e0e5c347bd7
parent66e70bdca599abd2dc42c5849ae21895de141bfe
parisc: Optimize flush_kernel_vmap_range and invalidate_kernel_vmap_range

commit 316ec0624f951166daedbe446988ef92ae72b59f upstream.

The previously submitted patch did not resolve the random segmentation
faults observed on the phantom buildd system.  There are still
unresolved problems with the Debian 4.8 and 4.9 kernels on C8000.

The attached patch removes the flush of the offset map pages and does a
whole data cache flush for large ranges.  No other arch flushes the
offset map in these routines as far as I can tell.

I have not observed any random segmentation faults on rp3440 in two
weeks of testing with 4.10.0 and 4.10.1.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/parisc/include/asm/cacheflush.h
arch/parisc/kernel/cache.c