[PATCH 2/2] kvm: powerpc: set cache coherency only for kernel managed pages
Scott Wood
scottwood at freescale.com
Sat Jul 27 08:27:00 EST 2013
On 07/25/2013 03:50:42 AM, Gleb Natapov wrote:
> Why ppc uses page_is_ram() for mmap? How should I know? But looking at
> the function it does it only as a fallback if
> ppc_md.phys_mem_access_prot() is not provided. Making access to MMIO
> noncached as a safe fallback makes sense.
There's only one current implementation of
ppc_md.phys_mem_access_prot(), which is pci_phys_mem_access_prot(),
which also uses page_is_ram(). If page_is_ram() returns false then it
checks for write-combining PCI. But yes, we would want to call
ppc_md.phys_mem_access_prot() if present.
Copying from the host PTE would be ideal if doesn't come with a
noticeable performance impact compared to other methods, but one way or
another we want to be sure we match.
> It is also make sense to allow noncached access to reserved ram
> sometimes.
Perhaps, but that's not KVM's decision to make. You should get the
same result as if you mmaped it -- because QEMU already did and we need
to be consistent. Not to mention the large page kernel mapping that
will have been done on e500...
-Scott
More information about the Linuxppc-dev
mailing list