|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] hypervisor memory usage
I have nailed the problem down to RHEL version of compute_dom0_nr_pages() function. Vanilla xen uses something like this to reserve up to 128MB of ram for DMA etc. The same alg. is used in rhel <= 5.2 and also in official xen 3.4.1
if ( dom0_nrpages == 0 )
{
dom0_nrpages = avail;
dom0_nrpages = min(dom0_nrpages / 16, 128L << (20 - PAGE_SHIFT));
dom0_nrpages = -dom0_nrpages;
}
However, RHEL >= 5.3 uses this:
/*
* If domain 0 allocation isn't specified, reserve 1/16th of available
* memory for things like DMA buffers. This reservation is clamped to
* a maximum of 384MB.
*/
if ( dom0_nrpages == 0 )
{
dom0_nrpages = avail;
dom0_nrpages = min(dom0_nrpages / 8, 384L << (20 - PAGE_SHIFT));
dom0_nrpages = -dom0_nrpages;
} else {
/* User specified a dom0_size. Do not clamp the maximum. */
dom0_max_nrpages = LONG_MAX;
}
I do understand that they like the idea of reserving more ram, but
additionally /8 would make 1/8th of memory instead of 1/16th?
So this might be intended behavior, just not advertised anywhere, and as a kind of side effect, specifying dom0_mem would altogether skip this funny allocation scheme - at least in theory [ I've just put dom0_mem=64G (but I have 8G only) ] and it is not coming up, and I will not be able to t see the console for at least next couple of hours. Vladimir Zidar wrote:
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |