[PATCH] Add +~800M crashkernel explaination

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When trying to configure crashkernel greater than about 800 MB, the
kernel fails to allocate memory on x86 and x86_64. This is due to an
undocumented limit that the crashkernel and other low memory items must
be allocated below 896 MB unless the ",high" option is given. This
updates the documentation to explain this and what I understand the
limitations to be on the option.

Signed-off-by: Robert LeBlanc <robert@xxxxxxxxxxxxx>
---
 Documentation/kdump/kdump.txt | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/Documentation/kdump/kdump.txt b/Documentation/kdump/kdump.txt
index b0eb27b..aa3efa8 100644
--- a/Documentation/kdump/kdump.txt
+++ b/Documentation/kdump/kdump.txt
@@ -256,7 +256,9 @@ While the "crashkernel=size[@offset]" syntax is sufficient for most
 configurations, sometimes it's handy to have the reserved memory dependent
 on the value of System RAM -- that's mostly for distributors that pre-setup
 the kernel command line to avoid a unbootable system after some memory has
-been removed from the machine.
+been removed from the machine. If you need to allocate more than ~800M
+for x86 or x86_64 then you must use the simple format as the format
+',high' conflicts with the separators of ranges.
 
 The syntax is:
 
@@ -282,11 +284,21 @@ Boot into System Kernel
 1) Update the boot loader (such as grub, yaboot, or lilo) configuration
    files as necessary.
 
-2) Boot the system kernel with the boot parameter "crashkernel=Y@X",
+2) Boot the system kernel with the boot parameter "crashkernel=Y[@X | ,high]",
    where Y specifies how much memory to reserve for the dump-capture kernel
-   and X specifies the beginning of this reserved memory. For example,
-   "crashkernel=64M@16M" tells the system kernel to reserve 64 MB of memory
-   starting at physical address 0x01000000 (16MB) for the dump-capture kernel.
+   and X specifies the beginning of this reserved memory or ',high' to load in
+   high memory. For example, "crashkernel=64M@16M" tells the system
+   kernel to reserve 64 MB of memory starting at physical address
+   0x01000000 (16MB) for the dump-capture kernel.
+
+   Specifying "crashkernel=1G,high" tells the system kernel to reserve 1 GB
+   of memory using high memory for the dump-capture kernel, there may also
+   be some low memory allocated as well. If you need more than ~800M for
+   the crash kernel to operate (volumes on FC/iSCSI, large volumes, systemd
+   added to the previous, etc), you need to specify ',high' since without
+   it crashkerenel has to try and fit under 896M along with some other
+   items and will fail to allocate memory. High memory may only be relevant
+   on x86 and x86_64.
 
    On x86 and x86_64, use "crashkernel=64M@16M".
 
-- 
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux