From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: Can't boot guest with more than 3585MB when using large pages Date: Wed, 25 Mar 2009 10:26:03 -0600 Message-ID: <1237998363.15558.94.camel@lappy> References: <1237928806.6124.39.camel@bling> <20090324215746.GH27104@us.ibm.com> <20090325161039.GB28846@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Ryan Harper , kvm-devel To: Marcelo Tosatti Return-path: Received: from g4t0015.houston.hp.com ([15.201.24.18]:19285 "EHLO g4t0015.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753107AbZCYQ0T (ORCPT ); Wed, 25 Mar 2009 12:26:19 -0400 In-Reply-To: <20090325161039.GB28846@amt.cnet> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, 2009-03-25 at 13:10 -0300, Marcelo Tosatti wrote: > On Tue, Mar 24, 2009 at 04:57:46PM -0500, Ryan Harper wrote: > > * Alex Williamson [2009-03-24 16:07]: > > > > > > On a 2.6.29, x86_64 host/guest, what's special about specifying a guest > > > size of -m 3586 when using -mem-path backed by hugetlbfs? 3585 works, > > > 3586 hangs here: > > > > > > ... > > > PCI-DMA: Using software bounce buffering for IO (SWIOTLB) > > > Placing 64MB software IO TLB between ffff880020000000 - ffff880024000000 > > > software IO TLB at phys 0x20000000 - 0x24000000 > > > Memory: 3504832k/4196352k available (2926k kernel code, 524740k absent, 166780k reserved, 1260k data, 496k init) > > > > I've seen this as well, haven't had a chance to dig into the issue yet > > either. Certainly can test patches if anyone has an idea of what's > > wrong here. > > Can you strace and see if the mmap on hugetlbfs is correctly sized? Seems reasonable with some 2MB rounding. Failing case, -m 3586: open("/hugepages//kvm.5fuuH5", O_RDWR|O_CREAT|O_EXCL, 0600) = 9 unlink("/hugepages//kvm.5fuuH5") = 0 ftruncate(9, 3783262208) = 0 mmap(NULL, 3783262208, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_POPULATE, 9, 0) = 0x7f37a5e00000 Working case, -m 3585: open("/hugepages//kvm.Mv6Zgd", O_RDWR|O_CREAT|O_EXCL, 0600) = 9 unlink("/hugepages//kvm.Mv6Zgd") = 0 ftruncate(9, 3781165056) = 0 mmap(NULL, 3781165056, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_POPULATE, 9, 0) = 0x7fd44b800000 Working case using disk backing: -mem-path /tmp -mem-prealloc -m 3586: open("/tmp/kvm.nPlxl1", O_RDWR|O_CREAT|O_EXCL, 0600) = 9 unlink("/tmp/kvm.nPlxl1") = 0 ftruncate(9, 3783262208) = 0 mmap(NULL, 3783262208, PROT_READ|PROT_WRITE, MAP_PRIVATE, 9, 0) = 0x7f432e055000