Message ID | 156630278711.8896.9799921270260662672.stgit@hbathini.in.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add FADump support on PowerNV platform | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch next (c9633332103e55bc73d80d07ead28b95a22a85a3) |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 134 lines checked |
Hari Bathini <hbathini@linux.ibm.com> writes: > With FADump support now available on both pseries and OPAL platforms, > update FADump documentation with these details. > > Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> > --- > Documentation/powerpc/firmware-assisted-dump.rst | 104 +++++++++++++--------- > 1 file changed, 63 insertions(+), 41 deletions(-) > > diff --git a/Documentation/powerpc/firmware-assisted-dump.rst b/Documentation/powerpc/firmware-assisted-dump.rst > index d912755..2c3342c 100644 > --- a/Documentation/powerpc/firmware-assisted-dump.rst > +++ b/Documentation/powerpc/firmware-assisted-dump.rst > @@ -72,7 +72,8 @@ as follows: > normal. > > - The freshly booted kernel will notice that there is a new > - node (ibm,dump-kernel) in the device tree, indicating that > + node (ibm,dump-kernel on PSeries or ibm,opal/dump/mpipl-boot > + on OPAL platform) in the device tree, indicating that > there is crash data available from a previous boot. During > the early boot OS will reserve rest of the memory above > boot memory size effectively booting with restricted memory > @@ -96,7 +97,9 @@ as follows: > > Please note that the firmware-assisted dump feature > is only available on Power6 and above systems with recent > -firmware versions. Notice how "recent" has bit rotted. > +firmware versions on PSeries (PowerVM) platform and Power9 > +and above systems with recent firmware versions on PowerNV > +(OPAL) platform. Can we say something more helpful here, ie. "recent" is not very useful. AFAIK it's actually wrong, there isn't a released firmware with the support yet at all, right? Given all the relevant firmware is open source can't we at least point to a commit or release tag or something? cheers
On Wed, Sep 4, 2019 at 9:51 PM Michael Ellerman <mpe@ellerman.id.au> wrote: > > Hari Bathini <hbathini@linux.ibm.com> writes: > > With FADump support now available on both pseries and OPAL platforms, > > update FADump documentation with these details. > > > > Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> > > --- > > Documentation/powerpc/firmware-assisted-dump.rst | 104 +++++++++++++--------- > > 1 file changed, 63 insertions(+), 41 deletions(-) > > > > diff --git a/Documentation/powerpc/firmware-assisted-dump.rst b/Documentation/powerpc/firmware-assisted-dump.rst > > index d912755..2c3342c 100644 > > --- a/Documentation/powerpc/firmware-assisted-dump.rst > > +++ b/Documentation/powerpc/firmware-assisted-dump.rst > > @@ -72,7 +72,8 @@ as follows: > > normal. > > > > - The freshly booted kernel will notice that there is a new > > - node (ibm,dump-kernel) in the device tree, indicating that > > + node (ibm,dump-kernel on PSeries or ibm,opal/dump/mpipl-boot > > + on OPAL platform) in the device tree, indicating that > > there is crash data available from a previous boot. During > > the early boot OS will reserve rest of the memory above > > boot memory size effectively booting with restricted memory > > @@ -96,7 +97,9 @@ as follows: > > > > Please note that the firmware-assisted dump feature > > is only available on Power6 and above systems with recent > > -firmware versions. > > Notice how "recent" has bit rotted. > > > +firmware versions on PSeries (PowerVM) platform and Power9 > > +and above systems with recent firmware versions on PowerNV > > +(OPAL) platform. > > Can we say something more helpful here, ie. "recent" is not very useful. > AFAIK it's actually wrong, there isn't a released firmware with the > support yet at all, right? > > Given all the relevant firmware is open source can't we at least point > to a commit or release tag or something? > > cheers Even if we can quote a git sha it's not terrible useful or user friendly. We already gate the feature behind DT nodes / properties existing, so why not just say "fadump requires XYZ firmware feature, as indicated by <ABC> device-tree property."
"Oliver O'Halloran" <oohall@gmail.com> writes: > On Wed, Sep 4, 2019 at 9:51 PM Michael Ellerman <mpe@ellerman.id.au> wrote: >> Hari Bathini <hbathini@linux.ibm.com> writes: ... >> > diff --git a/Documentation/powerpc/firmware-assisted-dump.rst b/Documentation/powerpc/firmware-assisted-dump.rst >> > index d912755..2c3342c 100644 >> > --- a/Documentation/powerpc/firmware-assisted-dump.rst >> > +++ b/Documentation/powerpc/firmware-assisted-dump.rst >> > @@ -96,7 +97,9 @@ as follows: >> > >> > Please note that the firmware-assisted dump feature >> > is only available on Power6 and above systems with recent >> > -firmware versions. >> >> Notice how "recent" has bit rotted. >> >> > +firmware versions on PSeries (PowerVM) platform and Power9 >> > +and above systems with recent firmware versions on PowerNV >> > +(OPAL) platform. >> >> Can we say something more helpful here, ie. "recent" is not very useful. >> AFAIK it's actually wrong, there isn't a released firmware with the >> support yet at all, right? >> >> Given all the relevant firmware is open source can't we at least point >> to a commit or release tag or something? > > Even if we can quote a git sha it's not terrible useful or user > friendly. We already gate the feature behind DT nodes / properties > existing, so why not just say "fadump requires XYZ firmware feature, > as indicated by <ABC> device-tree property." But how does that help someone who's got a Talos/Blackbird and wants to test this stuff? cheers
diff --git a/Documentation/powerpc/firmware-assisted-dump.rst b/Documentation/powerpc/firmware-assisted-dump.rst index d912755..2c3342c 100644 --- a/Documentation/powerpc/firmware-assisted-dump.rst +++ b/Documentation/powerpc/firmware-assisted-dump.rst @@ -72,7 +72,8 @@ as follows: normal. - The freshly booted kernel will notice that there is a new - node (ibm,dump-kernel) in the device tree, indicating that + node (ibm,dump-kernel on PSeries or ibm,opal/dump/mpipl-boot + on OPAL platform) in the device tree, indicating that there is crash data available from a previous boot. During the early boot OS will reserve rest of the memory above boot memory size effectively booting with restricted memory @@ -96,7 +97,9 @@ as follows: Please note that the firmware-assisted dump feature is only available on Power6 and above systems with recent -firmware versions. +firmware versions on PSeries (PowerVM) platform and Power9 +and above systems with recent firmware versions on PowerNV +(OPAL) platform. Implementation details: ----------------------- @@ -111,57 +114,76 @@ that are run. If there is dump data, then the /sys/kernel/fadump_release_mem file is created, and the reserved memory is held. -If there is no waiting dump data, then only the memory required -to hold CPU state, HPTE region, boot memory dump and elfcore -header, is usually reserved at an offset greater than boot memory -size (see Fig. 1). This area is *not* released: this region will -be kept permanently reserved, so that it can act as a receptacle -for a copy of the boot memory content in addition to CPU state -and HPTE region, in the case a crash does occur. Since this reserved -memory area is used only after the system crash, there is no point in -blocking this significant chunk of memory from production kernel. -Hence, the implementation uses the Linux kernel's Contiguous Memory -Allocator (CMA) for memory reservation if CMA is configured for kernel. -With CMA reservation this memory will be available for applications to -use it, while kernel is prevented from using it. With this FADump will -still be able to capture all of the kernel memory and most of the user -space memory except the user pages that were present in CMA region:: +If there is no waiting dump data, then only the memory required to +hold CPU state, HPTE region, boot memory dump, FADump header and +elfcore header, is usually reserved at an offset greater than boot +memory size (see Fig. 1). This area is *not* released: this region +will be kept permanently reserved, so that it can act as a receptacle +for a copy of the boot memory content in addition to CPU state and +HPTE region, in the case a crash does occur. + +Since this reserved memory area is used only after the system crash, +there is no point in blocking this significant chunk of memory from +production kernel. Hence, the implementation uses the Linux kernel's +Contiguous Memory Allocator (CMA) for memory reservation if CMA is +configured for kernel. With CMA reservation this memory will be +available for applications to use it, while kernel is prevented from +using it. With this FADump will still be able to capture all of the +kernel memory and most of the user space memory except the user pages +that were present in CMA region:: o Memory Reservation during first kernel - Low memory Top of memory - 0 boot memory size |<--Reserved dump area --->| | - | | | (Permanent Reservation) | | - V V | | V - +-----------+----------/ /---+---+----+--------+---+----+------+ - | | |CPU|HPTE| DUMP |HDR|ELF | | - +-----------+----------/ /---+---+----+--------+---+----+------+ - | ^ ^ - | | | - \ / | - ----------------------------------- FADump Header - Boot memory content gets transferred (meta area) - to reserved area by firmware at the - time of crash + Low memory Top of memory + 0 boot memory size |<--- Reserved dump area --->| | + | | | Permanent Reservation | | + V V | | V + +-----------+-----/ /---+---+----+-------+-----+-----+----+--+ + | | |///|////| DUMP | HDR | ELF |////| | + +-----------+-----/ /---+---+----+-------+-----+-----+----+--+ + | ^ ^ ^ ^ ^ + | | | | | | + \ CPU HPTE / | | + ------------------------------ | | + Boot memory content gets transferred | | + to reserved area by firmware at the | | + time of crash. | | + FADump Header | + (meta area) | + | + | + Metadata: This area holds a metadata struture whose + address is registered with f/w and retrieved in the + second kernel after crash, on platforms that support + tags (OPAL). Having such structure with info needed + to process the crashdump eases dump capture process. Fig. 1 o Memory Reservation during second kernel after crash - Low memory Top of memory - 0 boot memory size | - | |<----------- Crash preserved area --------------->| - V V |<-- Reserved dump area -->| V - +-----------+----------/ /---+---+----+--------+---+----+------+ - | | |CPU|HPTE| DUMP |HDR|ELF | | - +-----------+----------/ /---+---+----+--------+---+----+------+ - | | - V V - Used by second /proc/vmcore + Low memory Top of memory + 0 boot memory size | + | |<------------ Crash preserved area ------------>| + V V |<--- Reserved dump area --->| | + +-----------+-----/ /---+---+----+-------+-----+-----+----+--+ + | | |///|////| DUMP | HDR | ELF |////| | + +-----------+-----/ /---+---+----+-------+-----+-----+----+--+ + | | + V V + Used by second /proc/vmcore kernel to boot + + +---+ + |///| -> Regions (CPU, HPTE & Metadata) marked like this in the above + +---+ figures are not always present. For example, OPAL platform + does not have CPU & HPTE regions while Metadata region is + not supported on pSeries currently. + Fig. 2 + Currently the dump will be copied from /proc/vmcore to a new file upon user intervention. The dump data available through /proc/vmcore will be in ELF format. Hence the existing kdump infrastructure (kdump scripts)
With FADump support now available on both pseries and OPAL platforms, update FADump documentation with these details. Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> --- Documentation/powerpc/firmware-assisted-dump.rst | 104 +++++++++++++--------- 1 file changed, 63 insertions(+), 41 deletions(-)