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

[Xen-devel] Implementing working set tracker in xen



Hello
Today I'm working on virtual machines working set size tracking in xen hypervisor.
I follow the vmware approch I read in this article:

https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&sqi=2&ved=0CCEQFjAA&url=https%3A%2F%2Fwww.usenix.org%2Fevents%2Fosdi02%2Ftech%2Fwaldspurger%2Fwaldspurger.pdf&ei=18cJVcqNH5HuaM-agIgK&usg=AFQjCNHbfSzjSGUcjHtYGij7Yz6xmQIm0w&sig2=D3GOzsjJVlO7Pp5-RXTeSw&cad=rja


ESX Server uses a statistical sampling approach to ob-
tain aggregate VM working set estimates directly, with-
out any guest involvement. Each VM is sampled inde-
pendently, using a configurable sampling period defined
in units of VM execution time. At the start of each sam-
pling period, a small number of the virtual machineâs
âphysicalâ pages are selected randomly using a uniform
distribution. Each sampled page is tracked by invalidat-
ing any cached mappings associated with its PPN, such
as hardware TLB entries and virtualized MMU state.
The next guest access to a sampled page will be inter-
cepted to re-establish these mappings, at which time a
touched page count is incremented. At the end of the
sampling period, a statistical estimate of the fraction
of memory actively accessed by the VM is f = t/n.

The algorithm is easy to understand. but I have a real problem while implementing it. I don't how I can invalidate all cache mapping with the select physical number. it's simple to invalidate tlb mapping by flushing the tlb but I cannot invalidate page table entries that map the selected physical number because I cannot get the virtual address of the physical number. I have the virtual addresse of page table entries only during the hypercall HYPERVISOR_mmu_update. but this give only the address of the pages to be updated.

Please can someone help me to resole this issue.

Thank you for your help


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.