Thread (18 messages) read the whole thread 18 messages, 4 authors, 2011-01-06

Re: [RFC] /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_overcommit_hugepages

From: Eric B Munson <hidden>
Date: 2011-01-04 17:21:26

On Tue, 04 Jan 2011, CAI Qian wrote:
quoted
quoted
3) overcommit 2gb hugepages.
mmap(NULL, 18446744071562067968, PROT_READ|PROT_WRITE, MAP_SHARED,
3, 0) = -1 ENOMEM (Cannot allocate memory)
Hmm, you are trying to reserve/mmap a lot of memory (17179869182 1GB
huge pages).
That is strange - the test code merely did this,
addr = mmap(ADDR, 2<<30, PROTECTION, FLAGS, fd, 0);

Do you know if overcommit was designed for 1GB pages? At least, read this
from Documentation/kernel-parameters.txt,

hugepagesz=
              ...
             Note that 1GB pages can only be allocated at boot time
             using hugepages= and not freed afterwards.

How does it allow to be overcommitted for only being able to allocate at
boot time?
It does not, huge page sizes that have to be allocated at boot can not be
overcommitted as the pool size cannot change after boot.
quoted
quoted
Also, nr_overcommit_hugepages was overwritten with such a strange
value after overcommit failure. Should we just remove this file from
sysfs for simplicity?
I don't think having pagesize+arch specific logic here is going to scale (we
would need to check for 16GB pages on ppc64 as well because they have the same
restrictions as 1GB pages on x86_64) but 1GB pages might be fine to overcommit
on ia64.  Perhaps the documentation needs to change to call this out specifically.
quoted
This is strange. The value is set only in hugetlb_overcommit_handler
which is a sysctl handler.

Are you sure that you are not changing the value by the /sys interface
somewhere (there is no check for the value so you can set what-ever
value you like)? I fail to see any mmap code path which would change
this value.
I could double-check here, but it is not important if the fact is that
overcommit is not supported for 1GB pages.
quoted
Btw. which kernel version are you using.
mmotm 2010-12-02-16-34 version 2.6.37-rc4-mm1+. This problem is also present
in 2.6.18.

Thanks.

CAI Qian

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help