Ye, You are right, it happens when xen doesn't have enough pages for the VM.
And windows will crash now.
In memory overcommit, If there are many VMs on a physical host, and in dom0 use a daemon for
memory managment between VMS, it is possible that xen has no pages for the VM needs memory.
So I think , it is better to fix it.
Thanks.
> Subject: RE: TODO in windows balloon driver > Date: Sat, 26 Feb 2011 23:17:54 +1100 > From: james.harper@xxxxxxxxxxxxxxxx > To: tinnycloud@xxxxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxx > > > > > HI James: > > > > I've noticed the TODO tag in xenpci/xenpci_fdo.c, line 294 > > > > 290 KdPrint((__DRIVER_NAME " Calling > > HYPERVISOR_memory_op(XENMEM_populate_physmap) - pfn_count = %d\n", > > pfn_count)); > > 291 ret = HYPERVISOR_memory_op(xpdd, > XENMEM_populate_physmap, > > &reservation); > > 292 ExFreePoolWithTag(pfns, XENPCI_POOL_TAG); > > 293 KdPrint((__DRIVER_NAME " populated %d pages\n", > ret)); > > 294 /* TODO: what do we do if less than the required number > of > > pages were populated??? can this happen??? */ > > > > > > Could we fix it in linux balloon driver way?<
BR>> > When no enough pfn_count got, give memory back to xen. > > What do you think? > > Thanks. > > I guess that would work, but then it would keep trying to decrease again > every second. Maybe that's what we want but I'd rather put in some sort > of backoff in there eg retry in one second then two seconds then 4 > seconds etc up to a maximum of 1 minute or so, to reduce the noise. > > Are you seeing this happen? I'm guessing it's because xen doesn't have > enough pages for you or because you've ballooned up above the maxmem > limit or something... > > James >
|