lkml.org 
[lkml]   [2007]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 042/104] KVM: Cleanup mark_page_dirty
    Date
    From: Rusty Russell <rusty@rustcorp.com.au>

    For some reason, mark_page_dirty open-codes __gfn_to_memslot().

    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Avi Kivity <avi@qumranet.com>
    ---
    drivers/kvm/kvm_main.c | 24 +++++++-----------------
    1 files changed, 7 insertions(+), 17 deletions(-)

    diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
    index 5dc6017..55639ac 100644
    --- a/drivers/kvm/kvm_main.c
    +++ b/drivers/kvm/kvm_main.c
    @@ -916,28 +916,18 @@ struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn)
    }
    EXPORT_SYMBOL_GPL(gfn_to_page);

    +/* WARNING: Does not work on aliased pages. */
    void mark_page_dirty(struct kvm *kvm, gfn_t gfn)
    {
    - int i;
    struct kvm_memory_slot *memslot;
    - unsigned long rel_gfn;

    - for (i = 0; i < kvm->nmemslots; ++i) {
    - memslot = &kvm->memslots[i];
    + memslot = __gfn_to_memslot(kvm, gfn);
    + if (memslot && memslot->dirty_bitmap) {
    + unsigned long rel_gfn = gfn - memslot->base_gfn;

    - if (gfn >= memslot->base_gfn
    - && gfn < memslot->base_gfn + memslot->npages) {
    -
    - if (!memslot->dirty_bitmap)
    - return;
    -
    - rel_gfn = gfn - memslot->base_gfn;
    -
    - /* avoid RMW */
    - if (!test_bit(rel_gfn, memslot->dirty_bitmap))
    - set_bit(rel_gfn, memslot->dirty_bitmap);
    - return;
    - }
    + /* avoid RMW */
    + if (!test_bit(rel_gfn, memslot->dirty_bitmap))
    + set_bit(rel_gfn, memslot->dirty_bitmap);
    }
    }

    --
    1.5.3
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-09-17 10:43    [W:0.020 / U:64.320 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site