Re: hugetlbfs not working

Alexander Graf
2008-03-27T15:30:02Z

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.

Alex