aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/vm/hugetlbpage.txt
diff options
context:
space:
mode:
authorNishanth Aravamudan <nacc@us.ibm.com>2007-12-17 19:20:25 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-12-17 22:28:17 -0500
commitd5dbac87b4343d98ae509fb787efb77f8ddc484b (patch)
tree5a3cd992275cd754724b7450ec34cea6fa241f6e /Documentation/vm/hugetlbpage.txt
parent368d2c6358c3c62b3820a8a73f9fe9c8b540cdea (diff)
Documentation: update hugetlb information
The hugetlb documentation has gotten a bit out of sync with the current code. Updated the sysctl file to refer to Documentation/vm/hugetlbpage.txt. Update that file to contain the current state of affairs (with the newer named sysctl in place). Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Acked-by: Adam Litke <agl@us.ibm.com> Cc: William Lee Irwin III <wli@holomorphy.com> Cc: Dave Hansen <haveblue@us.ibm.com> Cc: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/vm/hugetlbpage.txt')
-rw-r--r--Documentation/vm/hugetlbpage.txt35
1 files changed, 29 insertions, 6 deletions
diff --git a/Documentation/vm/hugetlbpage.txt b/Documentation/vm/hugetlbpage.txt
index 51ccc48aa763..f962d01bea2a 100644
--- a/Documentation/vm/hugetlbpage.txt
+++ b/Documentation/vm/hugetlbpage.txt
@@ -30,9 +30,10 @@ alignment and size of the arguments to the above system calls.
30The output of "cat /proc/meminfo" will have lines like: 30The output of "cat /proc/meminfo" will have lines like:
31 31
32..... 32.....
33HugePages_Total: xxx 33HugePages_Total: vvv
34HugePages_Free: yyy 34HugePages_Free: www
35HugePages_Rsvd: www 35HugePages_Rsvd: xxx
36HugePages_Surp: yyy
36Hugepagesize: zzz kB 37Hugepagesize: zzz kB
37 38
38where: 39where:
@@ -42,6 +43,10 @@ allocated.
42HugePages_Rsvd is short for "reserved," and is the number of hugepages 43HugePages_Rsvd is short for "reserved," and is the number of hugepages
43for which a commitment to allocate from the pool has been made, but no 44for which a commitment to allocate from the pool has been made, but no
44allocation has yet been made. It's vaguely analogous to overcommit. 45allocation has yet been made. It's vaguely analogous to overcommit.
46HugePages_Surp is short for "surplus," and is the number of hugepages in
47the pool above the value in /proc/sys/vm/nr_hugepages. The maximum
48number of surplus hugepages is controlled by
49/proc/sys/vm/nr_overcommit_hugepages.
45 50
46/proc/filesystems should also show a filesystem of type "hugetlbfs" configured 51/proc/filesystems should also show a filesystem of type "hugetlbfs" configured
47in the kernel. 52in the kernel.
@@ -71,7 +76,25 @@ or failure of allocation depends on the amount of physically contiguous
71memory that is preset in system at this time. System administrators may want 76memory that is preset in system at this time. System administrators may want
72to put this command in one of the local rc init files. This will enable the 77to put this command in one of the local rc init files. This will enable the
73kernel to request huge pages early in the boot process (when the possibility 78kernel to request huge pages early in the boot process (when the possibility
74of getting physical contiguous pages is still very high). 79of getting physical contiguous pages is still very high). In either
80case, adminstrators will want to verify the number of hugepages actually
81allocated by checking the sysctl or meminfo.
82
83/proc/sys/vm/nr_overcommit_hugepages indicates how large the pool of
84hugepages can grow, if more hugepages than /proc/sys/vm/nr_hugepages are
85requested by applications. echo'ing any non-zero value into this file
86indicates that the hugetlb subsystem is allowed to try to obtain
87hugepages from the buddy allocator, if the normal pool is exhausted. As
88these surplus hugepages go out of use, they are freed back to the buddy
89allocator.
90
91Caveat: Shrinking the pool via nr_hugepages while a surplus is in effect
92will allow the number of surplus huge pages to exceed the overcommit
93value, as the pool hugepages (which must have been in use for a surplus
94hugepages to be allocated) will become surplus hugepages. As long as
95this condition holds, however, no more surplus huge pages will be
96allowed on the system until one of the two sysctls are increased
97sufficiently, or the surplus huge pages go out of use and are freed.
75 98
76If the user applications are going to request hugepages using mmap system 99If the user applications are going to request hugepages using mmap system
77call, then it is required that system administrator mount a file system of 100call, then it is required that system administrator mount a file system of
@@ -94,8 +117,8 @@ provided on command line then no limits are set. For size and nr_inodes
94options, you can use [G|g]/[M|m]/[K|k] to represent giga/mega/kilo. For 117options, you can use [G|g]/[M|m]/[K|k] to represent giga/mega/kilo. For
95example, size=2K has the same meaning as size=2048. 118example, size=2K has the same meaning as size=2048.
96 119
97read and write system calls are not supported on files that reside on hugetlb 120While read system calls are supported on files that reside on hugetlb
98file systems. 121file systems, write system calls are not.
99 122
100Regular chown, chgrp, and chmod commands (with right permissions) could be 123Regular chown, chgrp, and chmod commands (with right permissions) could be
101used to change the file attributes on hugetlbfs. 124used to change the file attributes on hugetlbfs.