lkml.org 
[lkml]   [2009]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 6/7] kvm mmu: enabling 1GB pages by extending backing_size funtion
    Joerg Roedel wrote:
    > This patch enables support for 1GB pages in KVM by implementing
    > the support in backing_size().
    >
    > @@ -490,18 +492,30 @@ static enum kvm_page_size host_page_size(struct kvm *kvm, gfn_t gfn)
    > static enum kvm_page_size backing_size(struct kvm_vcpu *vcpu, gfn_t gfn)
    > {
    > struct kvm_memory_slot *slot;
    > -
    > - if (has_wrprotected_page(vcpu->kvm, gfn))
    > - return KVM_PAGE_SIZE_4k;
    > -
    > - if (host_page_size(vcpu->kvm, gfn) < KVM_PAGE_SIZE_2M)
    > - return KVM_PAGE_SIZE_4k;
    > + enum kvm_page_size host_size, ret;
    >
    > slot = gfn_to_memslot(vcpu->kvm, gfn);
    > if (slot && slot->dirty_bitmap)
    > return KVM_PAGE_SIZE_4k;
    >
    > - return KVM_PAGE_SIZE_2M;
    > + host_size = host_page_size(vcpu->kvm, gfn);
    > +
    > + switch (host_size) {
    > + case KVM_PAGE_SIZE_1G:
    > + if (!has_wrprotected_largepage(vcpu->kvm, gfn)) {
    > + ret = KVM_PAGE_SIZE_1G;
    > + break;
    > + }
    >

    What if there's a wrprotected_page in there?

    > + case KVM_PAGE_SIZE_2M:
    > + if (!has_wrprotected_page(vcpu->kvm, gfn)) {
    > + ret = KVM_PAGE_SIZE_2M;
    > + break;
    > + }
    > + default:
    > + ret = KVM_PAGE_SIZE_4k;
    > + }
    > +
    > + return ret;
    > }
    >
    > /*
    >


    --
    error compiling committee.c: too many arguments to function



    \
     
     \ /
      Last update: 2009-03-29 13:55    [W:0.023 / U:0.664 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site