
On Tue, 24 Aug 2010 11:07:29 +0100, "Daniel P. Berrange" <berrange@redhat.com> wrote:
On Tue, Aug 24, 2010 at 03:17:44PM +0530, Nikunj A. Dadhania wrote:
On Tue, 24 Aug 2010 11:02:49 +0200, Matthias Bolte <matthias.bolte@googlemail.com> wrote:
<snip>
Yes the ESX driver allows to control ballooning through virDomainSetMemory and virDomainSetMaxMemory.
ESX itself also allows to set what's called memoryMinGaurantee in the thread, but this is not exposed in libvirt. LXC driver is using virDomainSetMemory to set the memory hard limit while QEmu/ESX use them to change the ballooning. And as you said, ESX does support memoryMinGaurantee, we can get this exported in libvirt using this new API.
Here I am trying to group all the memory related parameters into one single public API as we have in virDomainSetSchedulerParameters. Currently, the names are not conveying what they modify in the below layer and are confusing.
For historical design record, I think it would be good to write a short description of what memory tunables are available for each hypervisor, covering VMWare, OpenVZ, Xen, KVM and LXC (the latter both cgroups based). I do recall that OpenVZ in particular had a huge number of memory tunables.
I will collect the info and update. Nikunj