On 12/20/23 09:38, Song Shuai wrote:
Hi, Lianbo
在 2023/12/19 17:56, Lianbo Jiang 写道:
Hi, Song
On 12/14/23 13:07, devel-request@xxxxxxxxxxxxxxxxxxxxxxxxxxx wrote:
Date: Wed, 13 Dec 2023 17:45:05 +0800
From: Song Shuai<songshuaishuai@xxxxxxxxxxx>
Subject: [PATCH 0/3] RISCV64: enhance bt command
To:k-hagio-ab@xxxxxxx,xianting.tian@xxxxxxxxxxxxxxxxx
Cc:devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx, Song Shuai
<songshuaishuai@xxxxxxxxxxx>
Message-ID:<20231213094508.693236-1-songshuaishuai@xxxxxxxxxxx>
hi,
This series enhances the bt command for RISCV64 by making bt aware of
- possible kernel and user exception frames (bt -e)
- per-cpu IRQ stacks (bt for vmcore crashed in irq stack, bt -E)
- per-cpu overflow stacks (bt for vmcore caused by kernel stack
overflow)
This series is based on the "RISCV64: Fix 'bt' output when no ra on
the stack top" patch sent a few days ago. You can get them all from
my Github repo:
https://github.com/sugarfillet/crash/commits/rv64-bt-enhance/
Could you please provide the patched kexec-tools(link) for
riscv64?(if possible, please give the test steps)
It can help me to do some tests quickly.
Thanks for you attention for this series.
I had tried to make my riscv support based on kexec-tools'
horms/build-test-riscv-v2 merged into horms/main a few weeks ago [1],
but that thread seemed be suspended.
Anyway, you can directly fetch it from my Github branch:
https://github.com/sugarfillet/kexec-tools/commits/main_rv
Thank you for the information, Song.
With your patched kexec-tools, the 'kexec -p' command loads the vmlinux
image(with the busybox rootfs) successfully. But the dumping still
failed, so I can not test it with the generated vmcore according to your
steps.
Given that, I would tend to rely on the results of your tests on the
RISCV64 patch set. And the code changes are fine to me, so: Ack.
Thanks.
Lianbo
[1]:
https://lore.kernel.org/kexec/DA84A55096BADE15+594e239a-ff6a-368f-ae92-b6cfebbf8dc0@xxxxxxxxxxx/
Thanks.
Lianbo
The detailed test report can be found in each patch's commit-msg and
all these tests passed on the RV64 Qemu-virt and with RISC-V Linux
v6.6.
These vmcores were basicly triggered via LKDTM,
you can find the testcases in each patch's commit-msg.
Here is the abstract of these three patches:
Patch1 :
RISCV64: Add support for 'bt -e' option
With this patch we can search the stack for possible kernel and
user
mode exception frames via 'bt -e' command.
Patch2 :
RISCV64: Add per-cpu IRQ stacks support
This patch introduces per-cpu IRQ stacks for RISCV64 to let
"bt" do backtrace on it and 'bt -E' search eframes on it,
and the 'help -m' command displays the addresses of each
per-cpu IRQ stack.
Patch3:
RISCV64: Add per-cpu overflow stacks support
The patch introduces per-cpu overflow stacks for RISCV64 to let
"bt" do backtrace on it and the 'help -m' command dispalys the
addresss of each per-cpu overflow stack.
Song Shuai (3):
RISCV64: Add support for 'bt -e' option
RISCV64: Add per-cpu IRQ stacks support
RISCV64: Add per-cpu overflow stacks support
defs.h | 30 +++-
help.c | 2 +-
riscv64.c | 492
+++++++++++++++++++++++++++++++++++++++++++++++++++---
3 files changed, 494 insertions(+), 30 deletions(-)
-- 2.20.1
--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki