From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: [PATCH] Add 2M page support to Xen balloon driver Date: Wed, 17 Jun 2009 09:40:36 -0700 Message-ID: <4A391C84.2070807@goop.org> References: <200906161053.30707.dcm@mccr.org> <4A38C87D020000780000632D@vpn.id2.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4A38C87D020000780000632D@vpn.id2.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jan Beulich Cc: Dave McCracken , Xen Developers List List-Id: xen-devel@lists.xenproject.org On 06/17/09 01:42, Jan Beulich wrote: >> This patch adds a kernel command line option "balloon_hugepages" that, when >> enabled, will make the balloon driver work in 2M pages (ie hugepages). This >> will work in conjunction with the "superpages" domain creation option so once >> a domain is created with 2M contiguous pages it will continue to free and re- >> allocate at the 2M page size. >> >> Note that the current hypervisor code does not allow 2M page allocations for >> all guest domains. Keir has agreed to change the hypervisor to allow them, >> but for now "balloon_hugepages" should only be specified on hypervisors that >> have this change. >> > > How would that work with future (currently only some piece of dead code in > xen-netfront.c does so) code altering the p2m map outside of the balloon > driver? Shouldn't you at least verify the large page you allocated is indeed > machine-contiguous? > I have some experimental patches to move memory around at boot time to avoid e820 holes. It would need to take care with 2M pages. The dma code also updates the p2m map when it makes a page range contiguous. > Also, after reasonably long uptime and on a reasonably loaded machine - > how good are the chances you would be able to allocate a large page > through alloc_pages() in the first place? > I think you lose the ability to allocate 2M pages pretty quickly; probably only a few mins on a moderately loaded server (depends on total memory size, of course). On the other hand, the VM can now relocate user and pagecache pages to try and satisfy large memory allocations, so maybe it can manage it for longer or even indefinitely. J