• Hollis Blanchard's avatar
    KVM: ppc: use prefetchable mappings for guest memory · df9b856c
    Hollis Blanchard authored
    Bare metal Linux on 440 can "overmap" RAM in the kernel linear map, so that it
    can use large (256MB) mappings even if memory isn't a multiple of 256MB. To
    prevent the hardware prefetcher from loading from an invalid physical address
    through that mapping, it's marked Guarded.
    
    However, KVM must ensure that all guest mappings are backed by real physical
    RAM (since a deliberate access through a guarded mapping could still cause a
    machine check). Accordingly, we don't need to make our mappings guarded, so
    let's allow prefetching as the designers intended.
    
    Curiously this patch didn't affect performance at all on the quick test I
    tried, but it's clearly the right thing to do anyways and may improve other
    workloads.
    Signed-off-by: default avatarHollis Blanchard <hollisb@us.ibm.com>
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    df9b856c
44x_tlb.c 10.5 KB