diff options
-rw-r--r-- | Documentation/vm/hugetlbpage.txt | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/Documentation/vm/hugetlbpage.txt b/Documentation/vm/hugetlbpage.txt index 1b9bcd1fe98b..1ad9af1ca4d0 100644 --- a/Documentation/vm/hugetlbpage.txt +++ b/Documentation/vm/hugetlbpage.txt | |||
@@ -13,12 +13,13 @@ This optimization is more critical now as bigger and bigger physical memories | |||
13 | Users can use the huge page support in Linux kernel by either using the mmap | 13 | Users can use the huge page support in Linux kernel by either using the mmap |
14 | system call or standard SYSv shared memory system calls (shmget, shmat). | 14 | system call or standard SYSv shared memory system calls (shmget, shmat). |
15 | 15 | ||
16 | First the Linux kernel needs to be built with CONFIG_HUGETLB_PAGE (present | 16 | First the Linux kernel needs to be built with the CONFIG_HUGETLBFS |
17 | under Processor types and feature) and CONFIG_HUGETLBFS (present under file | 17 | (present under "File systems") and CONFIG_HUGETLB_PAGE (selected |
18 | system option on config menu) config options. | 18 | automatically when CONFIG_HUGETLBFS is selected) configuration |
19 | options. | ||
19 | 20 | ||
20 | The kernel built with hugepage support should show the number of configured | 21 | The kernel built with hugepage support should show the number of configured |
21 | hugepages in the system by running the "cat /proc/meminfo" command. | 22 | hugepages in the system by running the "cat /proc/meminfo" command. |
22 | 23 | ||
23 | /proc/meminfo also provides information about the total number of hugetlb | 24 | /proc/meminfo also provides information about the total number of hugetlb |
24 | pages configured in the kernel. It also displays information about the | 25 | pages configured in the kernel. It also displays information about the |
@@ -38,19 +39,19 @@ in the kernel. | |||
38 | 39 | ||
39 | /proc/sys/vm/nr_hugepages indicates the current number of configured hugetlb | 40 | /proc/sys/vm/nr_hugepages indicates the current number of configured hugetlb |
40 | pages in the kernel. Super user can dynamically request more (or free some | 41 | pages in the kernel. Super user can dynamically request more (or free some |
41 | pre-configured) hugepages. | 42 | pre-configured) hugepages. |
42 | The allocation( or deallocation) of hugetlb pages is posible only if there are | 43 | The allocation (or deallocation) of hugetlb pages is possible only if there are |
43 | enough physically contiguous free pages in system (freeing of hugepages is | 44 | enough physically contiguous free pages in system (freeing of hugepages is |
44 | possible only if there are enough hugetlb pages free that can be transfered | 45 | possible only if there are enough hugetlb pages free that can be transfered |
45 | back to regular memory pool). | 46 | back to regular memory pool). |
46 | 47 | ||
47 | Pages that are used as hugetlb pages are reserved inside the kernel and can | 48 | Pages that are used as hugetlb pages are reserved inside the kernel and can |
48 | not be used for other purposes. | 49 | not be used for other purposes. |
49 | 50 | ||
50 | Once the kernel with Hugetlb page support is built and running, a user can | 51 | Once the kernel with Hugetlb page support is built and running, a user can |
51 | use either the mmap system call or shared memory system calls to start using | 52 | use either the mmap system call or shared memory system calls to start using |
52 | the huge pages. It is required that the system administrator preallocate | 53 | the huge pages. It is required that the system administrator preallocate |
53 | enough memory for huge page purposes. | 54 | enough memory for huge page purposes. |
54 | 55 | ||
55 | Use the following command to dynamically allocate/deallocate hugepages: | 56 | Use the following command to dynamically allocate/deallocate hugepages: |
56 | 57 | ||
@@ -80,9 +81,9 @@ memory (huge pages) allowed for that filesystem (/mnt/huge). The size is | |||
80 | rounded down to HPAGE_SIZE. The option nr_inode sets the maximum number of | 81 | rounded down to HPAGE_SIZE. The option nr_inode sets the maximum number of |
81 | inodes that /mnt/huge can use. If the size or nr_inode options are not | 82 | inodes that /mnt/huge can use. If the size or nr_inode options are not |
82 | provided on command line then no limits are set. For size and nr_inodes | 83 | provided on command line then no limits are set. For size and nr_inodes |
83 | options, you can use [G|g]/[M|m]/[K|k] to represent giga/mega/kilo. For | 84 | options, you can use [G|g]/[M|m]/[K|k] to represent giga/mega/kilo. For |
84 | example, size=2K has the same meaning as size=2048. An example is given at | 85 | example, size=2K has the same meaning as size=2048. An example is given at |
85 | the end of this document. | 86 | the end of this document. |
86 | 87 | ||
87 | read and write system calls are not supported on files that reside on hugetlb | 88 | read and write system calls are not supported on files that reside on hugetlb |
88 | file systems. | 89 | file systems. |