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

Xianting Tian xianting.tian at linux.alibaba.com
Thu Oct 13 02:26:28 PDT 2022


在 2022/10/13 下午1:24, Conor Dooley 写道:
>
> On 13 October 2022 03:28:09 IST, Xianting Tian <xianting.tian at linux.alibaba.com> wrote:
>> 在 2022/10/12 下午5:52, Conor Dooley 写道:
>>> 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 at linux.alibaba.com wrote:
>>>>>> 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
>>>>>> 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@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()"
>>>>>> 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@microchip.com/
>>> IIRC Bagas had some outstanding comments on the documentation change
>>> too. Was I incorrect?
>> Sorry, It is the two patches:
>>
>>    RISC-V: Add arch_crash_save_vmcoreinfo support
>>    Documentation: kdump: describe VMCOREINFO export for RISCV64
>>
>> I saw Palmer already merged the two patches to his riscv-crash branch, it means they are OK?
> Dunno, but no harm in resending given it's been a while cycle since then.
I checked the Documentation patch,  the only comment I missed from Bagas is:

Use "Document these RISCV64 exports above" instead of "This patch just 
add the description of VMCOREINFO export for RISCV64" in commit message.

Unfortunately, my patch sending env is broken, I can't send new patch now:(

>
>> https://git.kernel.org/pub/scm/linux/kernel/git/palmer/linux.git/log/?h=riscv-crash
>>
>> I saw Bagas's comments, I will send new version patch for the two patches, thanks for the reminder.
>>
>>> Thanks,
>>> Conor.



More information about the kexec mailing list