Re: Dirty page tracking in EPT

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

 



Hi, 

On Sunday 02 October 2011 17:43:23 Prateek Sharma wrote:
> Hello ,
>     I came across the dirty-page tracking patch here:
> [https://lkml.org/lkml/2011/6/21/169] .
> There is some mention of dirty-bit tracking not working with EPT. Can
> someone please clarify this? Does this patch only work when using
> software shadow page tables ?

When ksm is scanning the memory, it is working on the host virutal
addresses, so this patch tries to figure out if the page pointed to by
the pte is actually dirty in the guests through the scanning of sptes.
But, Intel EPT does not update the dirty bit (and other similar bits)
in sptes, so for Intel EPT we fall back to checksum based approach
in the patch.

This patch should work on AMD RVI/NPT although I hadn't the hardware
to test it yet. And also, my v2 patch considers huge page as a whole, and
try to skip it if any of the subpage is dirty, and I am still trying to 
quantify the cost balance between breaking up active huge pages and 
potential swapping. So maybe sometime I will give out a v3 patch totally
disabling the huge page consideration. 

> 
>    On a related note (i've asked a related question on this list a
> couple of days back), why can we not use the
> kvm_vm_ioctl_get_dirty_log function

While I am not an expert in kvm, I don't think kvm_vm_ioctl_get_dirty_log()
or kvm_memory_slot->dirty_bitmap can catch the normal writes issued from inside
guest OS. Maybe some experts in this list can help you understand the code ;-)

Thanks,

Nai


> [http://lxr.linux.no/#linux+v3.0/arch/x86/kvm/x86.c#L3297] ?  Is it
> because it is too expensive? If yes, can we use the dirty-page
> tracking ideas in this patch and use it for the migration code?
> 
> 
> Thanks for reading,
> Prateek
> 
--
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