Re: hugetlbfs not working

Anthony Liguori
2008-03-27T16:07:02Z

Alexander Graf wrote:
> On Mar 27, 2008, at 4:19 PM, Avi Kivity wrote:
>
>
>> Alexander Graf wrote:
>>
>>> Hi,
>>>
>>> I'm currently trying to get hugetlbfs working on the current git
>>> version and am quite puzzled to see it not working. It appears as
>>> if the ftruncate call fails:
>>>
>>> open("/dev/hugetlbfs//kvm.vI3G8z", O_RDWR|O_CREAT|O_EXCL, 0600) = 7
>>> unlink("/dev/hugetlbfs//kvm.vI3G8z") = 0
>>> ftruncate(7, 157286400) = -1 EINVAL (Invalid
>>> argument)
>>> dup(2) = 8
>>> fcntl(8, F_GETFL) = 0x8001 (flags O_WRONLY|
>>> O_LARGEFILE)
>>> close(8) = 0
>>> write(2, "ftruncate: Invalid argument\n", 28ftruncate: Invalid
>>> argument
>>> ) = 28
>>> close(7) = 0
>>>
>>> My host kernel is a 2.6.22.
>>>
>>> Is this supposed to work? The first version did not have the
>>> ftruncate call, so maybe it doesn't work at all with hugetlbfs?
>>>
>>>
>> Are you on i386 non-pae? that has 4MB pages, while you're asking
>> for for 37.5 4MB pages.
>>
>> Try adding 2MB to the requested memory size.
>>
>
> I'm on x86_64 and /proc/meminfo tells me:
>
> HugePages_Total: 1435
> HugePages_Free: 1435
> HugePages_Rsvd: 0
> Hugepagesize: 2048 kB
>
> I also reserved all available huge pages:
>
> % cat /proc/sys/vm/nr_hugepages
> 1435
>
> Changing the guest memory size using -m does not help.
>

If you don't bail when ftruncate fails, does it work as expected for
you? Perhaps older versions of hugetlbfs didn't support truncate.

Regards,

Anthony Liguori

> Alex
>
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
> _______________________________________________
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel