[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. Haozhong Zhang (3): x86/mm: expose track_pfn_insert() KVM: add converters between pfn_t and kvm_pfn_t KVM: MMU: consider host cache type in MMIO pfn check arch/x86/kvm/mmu.c | 32 +++++++++++++++++++++++++++++--- arch/x86/mm/pat.c | 1 + include/linux/kvm_host.h | 3 +++ 3 files changed, 33 insertions(+), 3 deletions(-) -- 2.14.1