Re: [PATCH 0/3] KVM: MMU: fix kvm_is_mmio_pfn()

From: Xiao Guangrong
Date: Tue Oct 31 2017 - 04:12:16 EST




On 10/27/2017 10:25 AM, Haozhong Zhang wrote:
[I just copy the commit message from patch 3]

By default, KVM treats a reserved page as for MMIO purpose, and maps
it to guest with UC memory type. However, some reserved pages are not
for MMIO, such as pages of DAX device (e.g., /dev/daxX.Y). Mapping
them with UC memory type will harm the performance. In order to
exclude those cases, we check the host cache mode in addition and only
treat UC/UC- pages as MMIO.


I am afraid that is not only a performance issue but also a architecture
bug - it could trigger MCE as there is alias memory mapping (a page mapped
as both WB and UC).

It may hurt mdev device as well as the device memory may be both mapped
at host and VM.