Re: [PATCH 0/4] KVM: Dirty logging optimization using rmap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/29/2011 12:35 PM, Takuya Yoshikawa wrote:
>>> I think it needs more thinking if only less page need be write
>>> protected.
>>>
>>> For example, framebuffer-based device used by Xwindow, only ~64M
>>> pages needs
>>> to be write protected, but in your way, guest will get write page
>>> fault on all
>>> memory? Hmm?
>>>
>>> It has some tricks but i missed?
>
>
> Do you mean write protecting slot by slot is difficult in the case of
> O(1)?

Well, O(1) as outlined protects everything.  So if we protect a small
slot, all the others get a penalty.

We used to have a bitmap in a shadow page with a bit set for every slot
pointed to by the page.  If we extend this to non-leaf pages (so, when
we set a bit, we propagate it through its parent_ptes list), then we do
the following on write fault:

  for each level, from root towards leaf
     find index
     if if pte(index) is write-protected:
        remove write protection
        if pte(index) points to a leaf
           mark page dirty
        else
           for each pte in page pointed to by pte(index):
              if it is not dirty already, and its slots bitmap indicates
it needs write protection
                write protect pte

or something.

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

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux