Re: [PATCH V6 0/6] RISC-V fixups to work with crash tool

From: Conor Dooley
Date: Wed Oct 12 2022 - 05:53:26 EST


On Wed, Oct 12, 2022 at 05:42:37PM +0800, Xianting Tian wrote:
>
> 在 2022/8/12 上午12:17, Palmer Dabbelt 写道:
> > On Thu, 11 Aug 2022 00:41:44 PDT (-0700),
> > xianting.tian@xxxxxxxxxxxxxxxxx wrote:
> > > I ever sent the patch 1 in the link:
> > > https://patchwork.kernel.org/project/linux-riscv/patch/20220708073150.352830-3-xianting.tian@xxxxxxxxxxxxxxxxx/
> > >
> > > And patch 2,3 in the link:
> > > https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-2-xianting.tian@xxxxxxxxxxxxxxxxx/
> > >
> > > https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-3-xianting.tian@xxxxxxxxxxxxxxxxx/
> > >
> > >
> > > This patch set just put these patches together, and with three new
> > > patch 4, 5, 6.
> > > these six patches are the fixups for machine_kexec, kernel mode PC
> > > for vmcore
> > > and improvements for vmcoreinfo, memory layout dump and fixup
> > > schedule out issue
> > > in machine_crash_shutdown().
> > >
> > > The main changes in the six patchs as below,
> > > Patch 1: Fixup use of smp_processor_id() in preemptible context, to
> > > cleanup
> > >          the console prints.
> > > Patch 2: Fixup to get correct kernel mode PC for kernel mode regs
> > > for vmcore.
> > > Patch 3: Fixup schedule out issue in machine_crash_shutdown()
> > > Patch 4: Add modules to virtual kernel memory layout dump.
> > > Patch 5: Add VM layout, va bits, ram base to vmcoreinfo, which can
> > > simplify
> > >          the development of crash tool as ARM64 already did
> > >          (arch/arm64/kernel/crash_core.c).
> > > Patch 6: Updates vmcoreinfo.rst for vmcoreinfo export for RISCV64.
> > >
> > > With these six patches(patch 2 is must), crash tool can work well to
> > > analyze
> > > a vmcore. The patches for crash tool for RISCV64 is in the link:
> > > https://lore.kernel.org/linux-riscv/20220801043040.2003264-1-xianting.tian@xxxxxxxxxxxxxxxxx/
> > >
> > >
> > > ------
> > > Changes v1 -> v2:
> > >   1, remove the patch "Add a fast call path of crash_kexec()" from
> > > this series
> > >      of patches, as it already applied to riscv git.
> > > https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git/commit/?h=for-next&id=3f1901110a89b0e2e13adb2ac8d1a7102879ea98
> > >   2, add 'Reviewed-by' based on the comments of v1.
> > > Changes v2 -> v3:
> > >   use "riscv" instead of "riscv64" in patch 5 subject line.
> > > Changes v3 -> v4:
> > >   use "riscv" instead of "riscv64" in the summary of patch 5 subject
> > > line.
> > > Changes v4 -> v5:
> > >   add a new patch "RISC-V: Fixup schedule out issue in
> > > machine_crash_shutdown()"
> > > Changes v5 -> v6:
> > >   1, move "fixup" patches to the start of the patch set.
> > >   2, change patch 1, 2, 6's subject to make it tell more what it's
> > > about.
> > >   3, add Fixes for patch 3.
> > >   4, adjuest the changes format for patch 6.
> > >
> > >
> > > Xianting Tian (6):
> > >   RISC-V: kexec: Fixup use of smp_processor_id() in preemptible context
> > >   RISC-V: Fixup get incorrect user mode PC for kernel mode regs
> > >   RISC-V: Fixup schedule out issue in machine_crash_shutdown()
> > >   RISC-V: Add modules to virtual kernel memory layout dump
> > >   RISC-V: Add arch_crash_save_vmcoreinfo support
> > >   Documentation: kdump: describe VMCOREINFO export for RISCV64
> > >
> > >  .../admin-guide/kdump/vmcoreinfo.rst          | 31 +++++++++++++++++++
> > >  arch/riscv/kernel/Makefile                    |  1 +
> > >  arch/riscv/kernel/crash_core.c                | 29 +++++++++++++++++
> > >  arch/riscv/kernel/crash_save_regs.S           |  2 +-
> > >  arch/riscv/kernel/machine_kexec.c             | 28 ++++++++++++++---
> > >  arch/riscv/mm/init.c                          |  4 +++
> > >  6 files changed, 89 insertions(+), 6 deletions(-)
> > >  create mode 100644 arch/riscv/kernel/crash_core.c
> >
> > Thank.  I've taken the first 4 onto for-next, which is still targeted
> > for 5.20, as they're fixes.  I'm not opposed to taking the documentation
> > patch for this cycle as well, it just needs some going-over as the
> > wording looks very odd (or at least it does to me right now, maybe I'm
> > just still half asleep).  Patch 5 is a new feature, and given that it's
> > being spun during the merge window it's too late.
>
> Hi Palmer
>
> Do you plan to merge the two patch to Linux 6.1 to support crash tool work? 
> thanks
>
>   RISC-V: kexec: Fixup use of smp_processor_id() in preemptible context

357628e68f5c ("RISC-V: kexec: Fixup use of smp_processor_id() in preemptible context"

>   RISC-V: Fixup get incorrect user mode PC for kernel mode regs

59c026c359c3 ("RISC-V: Fixup get incorrect user mode PC for kernel mode regs")

Hey Xianting, those two commits already seem to have been applied, do
you perhaps instead mean the documentation patch and the addition of
support for arch_crash_save_vmcoreinfo? I recalled asking if you needed
to respin at the time, but do not see a response:
https://lore.kernel.org/linux-riscv/39fdc85e-b2d5-863c-4878-4b3380d76bc4@xxxxxxxxxxxxx/
IIRC Bagas had some outstanding comments on the documentation change
too. Was I incorrect?

Thanks,
Conor.