[PARISC] fix vmap flush/invalidate
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 20 Jan 2011 18:54:18 +0000 (12:54 -0600)
committerJames Bottomley <James.Bottomley@suse.de>
Wed, 9 Feb 2011 17:22:21 +0000 (11:22 -0600)
commit8e1964a98920100f113ad26f78220ea706dbfa2b
treeeff1ff22212732ee39eab6919123886aea3fa1d4
parent100b33c8bd8a3235fd0b7948338d6cbb3db3c63d
[PARISC] fix vmap flush/invalidate

On parisc, we never implemented invalidate_kernel_vmap_range() because
it was unnecessary for the xfs use case.  However, we do need to
implement an invalidate for the opposite use case (which occurred in a
recent NFS change) where the user wants to read through the vmap range
and write via the kernel address.  There's an additional complexity to
this in that if the page has no userspace mappings, it might have dirty
cache lines in the kernel (indicated by the PG_dcache_dirty bit).  In
order to get full coherency, we need to flush these pages through the
kernel mapping before invalidating the vmap range.

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
arch/parisc/include/asm/cacheflush.h