lkml.org 
[lkml]   [2010]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] kvm mmu: reduce 50% memory usage
    On 04/29/2010 09:09 PM, Marcelo Tosatti wrote:
    >
    > You missed quadrant on 4mb large page emulation with shadow (see updated
    > patch below).

    Good catch.

    > Also for some reason i can't understand the assumption
    > does not hold for large sptes with TDP, so reverted for now.
    >

    It's unrelated to TDP, same issue with shadow. I think the calculation
    is correct. For example the 4th spte for a level=2 page will yield
    gfn=4*512.

    > @@ -393,6 +393,27 @@ static void mmu_free_rmap_desc(struct kvm_rmap_desc *rd)
    > kfree(rd);
    > }
    >
    > +static gfn_t kvm_mmu_page_get_gfn(struct kvm_mmu_page *sp, int index)
    > +{
    > + gfn_t gfn;
    > +
    > + if (!sp->role.direct)
    > + return sp->gfns[index];
    > +
    > + gfn = sp->gfn + index * (1<< (sp->role.level - 1) * PT64_LEVEL_BITS);
    > + gfn += sp->role.quadrant<< PT64_LEVEL_BITS;
    >

    PT64_LEVEL_BITS * level

    > +
    > + return gfn;
    > +}
    > +
    >
    >


    --
    I have a truly marvellous patch that fixes the bug which this
    signature is too narrow to contain.



    \
     
     \ /
      Last update: 2010-04-30 20:31    [W:0.029 / U:37.584 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site