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

From: Xianting Tian
Date: Wed Aug 10 2022 - 22:54:41 EST



在 2022/8/10 上午5:24, Conor.Dooley@xxxxxxxxxxxxx 写道:
On 09/08/2022 07:58, Xianting Tian wrote:
Hi Palmer

Could you please help review this patch set?  thanks.
Hey Xianting,

Obviously I am not Palmer, but I left some comments on the
patchset. Sorry for the delay in getting back onto you on your
latest version, I got confused as to which versions I had reviewed.

You ever reviewed this version patch set,

https://lore.kernel.org/lkml/20220725014539.1037627-1-xianting.tian@xxxxxxxxxxxxxxxxx/ <https://lore.kernel.org/lkml/20220725014539.1037627-1-xianting.tian@xxxxxxxxxxxxxxxxx/>


Conor.

Crash-utility patch set is ready(acked by HAGIO KAZUHITO), now waiting the kernel patch set merged firstly.

在 2022/8/2 下午8:18, Xianting Tian 写道:
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 chedule out issue
in machine_crash_shutdown().

The main changes in the six patchs as below,
Patch 1: use __smp_processor_id() instead of smp_processor_id() to cleanup
          the console prints.
Patch 2: 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 3: Add modules to virtual kernel memory layout dump.
Patch 4: Fixup to get correct kernel mode PC for vmcore.
Patch 5: Updates vmcoreinfo.rst.
Patch 6: Fixup schedule out issue in machine_crash_shutdown()

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()"

Xianting Tian (6):
   RISC-V: use __smp_processor_id() instead of smp_processor_id()
   RISC-V: Add arch_crash_save_vmcoreinfo support
   riscv: Add modules to virtual kernel memory layout dump
   RISC-V: Fixup getting correct current pc
   riscv: crash_core: Export kernel vm layout, phys_ram_base
   RISC-V: Fixup schedule out issue in machine_crash_shutdown()

  .../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