mbox series

[V5,0/6] RISC-V fixups to work with crash tool

Message ID 20220802121818.2201268-1-xianting.tian@linux.alibaba.com (mailing list archive)
Headers show
Series RISC-V fixups to work with crash tool | expand

Message

Xianting Tian Aug. 2, 2022, 12:18 p.m. UTC
I ever sent the patch 1 in the link:
https://patchwork.kernel.org/project/linux-riscv/patch/20220708073150.352830-3-xianting.tian@linux.alibaba.com/
And patch 2,3 in the link:
https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-2-xianting.tian@linux.alibaba.com/
https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-3-xianting.tian@linux.alibaba.com/

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@linux.alibaba.com/

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

Comments

Xianting Tian Aug. 9, 2022, 6:58 a.m. UTC | #1
Hi Palmer

Could you please help review this patch set?  thanks.

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@linux.alibaba.com/
> And patch 2,3 in the link:
> https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-2-xianting.tian@linux.alibaba.com/
> https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-3-xianting.tian@linux.alibaba.com/
>
> 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@linux.alibaba.com/
>
> ------
> 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
>
Conor Dooley Aug. 9, 2022, 9:24 p.m. UTC | #2
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.

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@linux.alibaba.com/
>> And patch 2,3 in the link:
>> https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-2-xianting.tian@linux.alibaba.com/
>> https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-3-xianting.tian@linux.alibaba.com/
>>
>> 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@linux.alibaba.com/
>>
>> ------
>> 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
>>
Xianting Tian Aug. 11, 2022, 2:54 a.m. UTC | #3
在 2022/8/10 上午5:24, Conor.Dooley@microchip.com 写道:
> 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@linux.alibaba.com/ 
<https://lore.kernel.org/lkml/20220725014539.1037627-1-xianting.tian@linux.alibaba.com/>

>
> 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@linux.alibaba.com/
>>> And patch 2,3 in the link:
>>> https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-2-xianting.tian@linux.alibaba.com/
>>> https://patchwork.kernel.org/project/linux-riscv/patch/20220714113300.367854-3-xianting.tian@linux.alibaba.com/
>>>
>>> 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@linux.alibaba.com/
>>>
>>> ------
>>> 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
>>>