aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorMel Gorman <mel@csn.ul.ie>2007-07-17 07:03:14 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-17 13:22:59 -0400
commited7ed365172e27b0efe9d43cc962723c7193e34e (patch)
tree6c22daf6908f92c64aae2b425e6383fe0ed404ac /Documentation
parent396faf0303d273219db5d7eb4a2879ad977ed185 (diff)
handle kernelcore=: generic
This patch adds the kernelcore= parameter for x86. Once all patches are applied, a new command-line parameter exist and a new sysctl. This patch adds the necessary documentation. From: Yasunori Goto <y-goto@jp.fujitsu.com> When "kernelcore" boot option is specified, kernel can't boot up on ia64 because of an infinite loop. In addition, the parsing code can be handled in an architecture-independent manner. This patch uses common code to handle the kernelcore= parameter. It is only available to architectures that support arch-independent zone-sizing (i.e. define CONFIG_ARCH_POPULATES_NODE_MAP). Other architectures will ignore the boot parameter. [bunk@stusta.de: make cmdline_parse_kernelcore() static] Signed-off-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com> Acked-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/filesystems/proc.txt15
-rw-r--r--Documentation/kernel-parameters.txt16
-rw-r--r--Documentation/sysctl/vm.txt3
3 files changed, 33 insertions, 1 deletions
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index 460b892d089e..ebffdffb3d99 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -1348,6 +1348,21 @@ nr_hugepages configures number of hugetlb page reserved for the system.
1348hugetlb_shm_group contains group id that is allowed to create SysV shared 1348hugetlb_shm_group contains group id that is allowed to create SysV shared
1349memory segment using hugetlb page. 1349memory segment using hugetlb page.
1350 1350
1351hugepages_treat_as_movable
1352--------------------------
1353
1354This parameter is only useful when kernelcore= is specified at boot time to
1355create ZONE_MOVABLE for pages that may be reclaimed or migrated. Huge pages
1356are not movable so are not normally allocated from ZONE_MOVABLE. A non-zero
1357value written to hugepages_treat_as_movable allows huge pages to be allocated
1358from ZONE_MOVABLE.
1359
1360Once enabled, the ZONE_MOVABLE is treated as an area of memory the huge
1361pages pool can easily grow or shrink within. Assuming that applications are
1362not running that mlock() a lot of memory, it is likely the huge pages pool
1363can grow to the size of ZONE_MOVABLE by repeatedly entering the desired value
1364into nr_hugepages and triggering page reclaim.
1365
1351laptop_mode 1366laptop_mode
1352----------- 1367-----------
1353 1368
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 8363ad3ba018..1794affbd06f 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -817,6 +817,22 @@ and is between 256 and 4096 characters. It is defined in the file
817 js= [HW,JOY] Analog joystick 817 js= [HW,JOY] Analog joystick
818 See Documentation/input/joystick.txt. 818 See Documentation/input/joystick.txt.
819 819
820 kernelcore=nn[KMG] [KNL,IA-32,IA-64,PPC,X86-64] This parameter
821 specifies the amount of memory usable by the kernel
822 for non-movable allocations. The requested amount is
823 spread evenly throughout all nodes in the system. The
824 remaining memory in each node is used for Movable
825 pages. In the event, a node is too small to have both
826 kernelcore and Movable pages, kernelcore pages will
827 take priority and other nodes will have a larger number
828 of kernelcore pages. The Movable zone is used for the
829 allocation of pages that may be reclaimed or moved
830 by the page migration subsystem. This means that
831 HugeTLB pages may not be allocated from this zone.
832 Note that allocations like PTEs-from-HighMem still
833 use the HighMem zone if it exists, and the Normal
834 zone if it does not.
835
820 keepinitrd [HW,ARM] 836 keepinitrd [HW,ARM]
821 837
822 kstack=N [IA-32,X86-64] Print N words from the kernel stack 838 kstack=N [IA-32,X86-64] Print N words from the kernel stack
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index df3ff2095f9d..a0ccc5b60260 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -38,7 +38,8 @@ Currently, these files are in /proc/sys/vm:
38 38
39dirty_ratio, dirty_background_ratio, dirty_expire_centisecs, 39dirty_ratio, dirty_background_ratio, dirty_expire_centisecs,
40dirty_writeback_centisecs, vfs_cache_pressure, laptop_mode, 40dirty_writeback_centisecs, vfs_cache_pressure, laptop_mode,
41block_dump, swap_token_timeout, drop-caches: 41block_dump, swap_token_timeout, drop-caches,
42hugepages_treat_as_movable:
42 43
43See Documentation/filesystems/proc.txt 44See Documentation/filesystems/proc.txt
44 45