Re: [PATCH 2/2] kvm: change the dirty page tracking to work with dirty bity

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

 



Izik Eidus wrote:
Avi Kivity wrote:
Izik Eidus wrote:
change the dirty page tracking to work with dirty bity instead of page fault. right now the dirty page tracking work with the help of page faults, when we want to track a page for being dirty, we write protect it and we mark it dirty when we have write page fault, this code move into looking at the dirty bit
of the spte.


I'm concerned about performance during the later stages of live migration. Even if only 1000 pages are dirty, you still have to look at 2,000,000 or more ptes (for an 8GB guest). That's a lot of overhead.

I think we need to use the page table hierarchy, write protect the upper page table so we know which page tables we need to look at.



Great idea, so i add another bitmap for the page directory?

No, why?

You need to drop write access to the shadow root ptes. When you get a fault, restore write access to the root ptes, but drop access from the L3 ptes, and so on until you reach the L1 ptes. There you clear the dirty bits, and add the page to a list of pages that need to be checked for dirty bits. This way you only check ptes that have a chance to be dirty.

I'm not sure that will be faster, but there's a good chance.



--
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