Lines Matching +full:reserved +full:- +full:memory

2 Firmware-Assisted Dump
7 The goal of firmware-assisted dump is to enable the dump of
8 a crashed system, and to do so from a fully-reset system, and
12 - Firmware-Assisted Dump (FADump) infrastructure is intended to replace
14 - Fadump uses the same firmware interfaces and memory reservation model
16 - Unlike phyp dump, FADump exports the memory dump through /proc/vmcore
19 - Unlike phyp dump, userspace tool does not need to refer any sysfs
21 - Unlike phyp dump, FADump allows user to release all the memory reserved
23 - Once enabled through kernel boot parameter, FADump can be
28 Comparing with kdump or other strategies, firmware-assisted
31 - Unlike kdump, the system has been reset, and loaded
35 - Once the dump is copied out, the memory that held the dump
44 - The first kernel registers the sections of memory with the
46 These registered sections of memory are reserved by the first
49 - When system crashes, the Power firmware will copy the registered
50 low memory regions (boot memory) from source to destination area.
54 The term 'boot memory' means size of the low memory chunk
56 booted with restricted memory. By default, the boot memory
58 Alternatively, user can also specify boot memory size
61 boot memory size is not sufficient for second kernel to
63 refer to Documentation/admin-guide/kdump/kdump.rst. If any
65 ignored as FADump uses a predefined offset to reserve memory
66 for boot memory dump preservation in case of a crash.
68 - After the low memory (boot memory) area has been saved, the
73 - The freshly booted kernel will notice that there is a new node
74 (rtas/ibm,kernel-dump on pSeries or ibm,opal/dump/mpipl-boot
77 the early boot OS will reserve rest of the memory above
78 boot memory size effectively booting with restricted memory
81 of the dump memory area.
83 - User-space tools will read /proc/vmcore to obtain the contents
84 of memory, which holds the previous crashed kernel dump in ELF
88 - Once the userspace tool is done saving dump, it will echo
89 '1' to /sys/kernel/fadump_release_mem to release the reserved
90 memory back to general use, except the memory required for
91 next firmware-assisted dump registration.
97 Please note that the firmware-assisted dump feature
108 preserve previously crash'ed kernel's memory for the subsequent
113 -- On OPAL based machines (PowerNV), if the kernel is build with
114 CONFIG_OPAL_CORE=y, OPAL memory at the time of crash is also
116 helpful in debugging OPAL crashes with GDB. The kernel memory
124 -----------------------
129 then everything but boot memory size of RAM is reserved during
133 /sys/kernel/fadump_release_mem file is created, and the reserved
134 memory is held.
136 If there is no waiting dump data, then only the memory required to
137 hold CPU state, HPTE region, boot memory dump, FADump header and
138 elfcore header, is usually reserved at an offset greater than boot
139 memory size (see Fig. 1). This area is *not* released: this region
140 will be kept permanently reserved, so that it can act as a receptacle
141 for a copy of the boot memory content in addition to CPU state and
144 Since this reserved memory area is used only after the system crash,
145 there is no point in blocking this significant chunk of memory from
147 Contiguous Memory Allocator (CMA) for memory reservation if CMA is
148 configured for kernel. With CMA reservation this memory will be
151 kernel memory and most of the user space memory except the user pages
154 o Memory Reservation during first kernel
156 Low memory Top of memory
157 0 boot memory size |<--- Reserved dump area --->| |
160 +-----------+-----/ /---+---+----+-------+-----+-----+----+--+
162 +-----------+-----/ /---+---+----+-------+-----+-----+----+--+
166 ------------------------------ | |
167 Boot memory content gets transferred | |
168 to reserved area by firmware at the | |
183 o Memory Reservation during second kernel after crash
185 Low memory Top of memory
186 0 boot memory size |
187 | |<------------ Crash preserved area ------------>|
188 V V |<--- Reserved dump area --->| |
189 +-----------+-----/ /---+---+----+-------+-----+-----+----+--+
191 +-----------+-----/ /---+---+----+-------+-----+-----+----+--+
197 +---+
198 |///| -> Regions (CPU, HPTE & Metadata) marked like this in the above
199 +---+ figures are not always present. For example, OPAL platform
217 How to enable firmware-assisted dump (FADump):
218 ----------------------------------------------
222 By default, FADump reserved memory will be initialized as CMA area.
226 to specify size of the memory to reserve for boot memory dump
231 use 'crashkernel=' to specify size of the memory to reserve
232 for boot memory dump preservation.
233 2. If firmware-assisted dump fails to reserve memory then it
236 3. if user wants to capture all of user space memory and ok with
237 reserved memory not available to production system, then
242 --------------------
244 Firmware-assisted dump feature uses sysfs file system to hold
245 the control files and debugfs file to display memory reserved region.
252 - 0 = FADump is disabled
253 - 1 = FADump is enabled
262 - 0 = FADump is not registered.
263 - 1 = FADump is registered and ready to handle system crash.
266 echo 0 > /sys/kernel/fadump_registered for un-register and stop the
267 FADump. Once the FADump is un-registered, the system crash will not
273 This is used to display the memory reserved by FADump for saving the
278 second kernel. This is used to release the reserved memory
280 reserved memory echo 1 to it::
285 file will change to reflect the new memory reservations.
288 enhanced to use this interface to release the memory reserved for
297 active during capture kernel. This is used to release the memory
299 release this memory, echo '1' to it:
305 +----------------------------------+--------------------------------+
307 +----------------------------------+--------------------------------+
309 +----------------------------------+--------------------------------+
311 +----------------------------------+--------------------------------+
313 +----------------------------------+--------------------------------+
319 This file shows the reserved memory regions if FADump is
323 <region>: [<start>-<end>] <reserved-size> bytes, Dumped: <dump-size>
327 DUMP: Src: <src-addr>, Dest: <dest-addr>, Size: <size>, Dumped: # bytes
333 CPU : [0x0000006ffb0000-0x0000006fff001f] 0x40020 bytes, Dumped: 0x0
334 HPTE: [0x0000006fff0020-0x0000006fff101f] 0x1000 bytes, Dumped: 0x0
335 DUMP: [0x0000006fff1020-0x0000007fff101f] 0x10000000 bytes, Dumped: 0x0
340 CPU : [0x0000006ffb0000-0x0000006fff001f] 0x40020 bytes, Dumped: 0x40020
341 HPTE: [0x0000006fff0020-0x0000006fff101f] 0x1000 bytes, Dumped: 0x1000
342 DUMP: [0x0000006fff1020-0x0000007fff101f] 0x10000000 bytes, Dumped: 0x10000000
343 : [0x00000010000000-0x0000006ffaffff] 0x5ffb0000 bytes, Dumped: 0x5ffb0000
352 -----
353 - Need to come up with the better approach to find out more
354 accurate boot memory size that is required for a kernel to
355 boot successfully when booted with restricted memory.
356 - The FADump implementation introduces a FADump crash info structure
372 structure and have unused area as reserved (initialized to zero)